通信网理论基础(虞红芳)ling.ppt
《通信网理论基础(虞红芳)ling.ppt》由会员分享,可在线阅读,更多相关《通信网理论基础(虞红芳)ling.ppt(38页珍藏版)》请在三一办公上搜索。
1、Lingo,软件操作,2/16,2013年秋季Lingo by Rodan,软件操作,3/16,2013年秋季Lingo by Rodan,软件界面,4/16,2013年秋季Lingo by Rodan,How to,5/16,设起点为1,终点为n,引入01型决策变量Xij,如果弧(i,j)在最短路上,则Xij=1,否则Xij=0于是最短路问题可以用如下模型来描述:,式中E表示全体边的集合,2013年秋季Lingo by Rodan,优化中的两个变量概念,2009年春季图算法及其在通信网络中的应用,6/16,Lingo模型的基本要素,7/16,2013年秋季Lingo by Rodan,集合段
2、,8/16,示例,注意:用“”表示该部分内容可选。Setname是你选择的来标记集的名字,Member_list是集成员列表。如果集成员放在集定义中,那么对它们可采取显式罗列和隐式罗列两种方式。如果集成员不放在集定义中,那么可以在随后的数据部分定义它们。,Tips:参考C+中的变量定义功能,2013年秋季Lingo by Rodan,集合段,9/16,示例,Setname/member_list/:attribute_list;,原始集语法,当显式罗列成员时,必须为每个成员输入一个不同的名字,中间用空格或逗号搁开,允许混合使用。例如 可以定义一个名为students 的原始集,它具有成员Joh
3、n、Jill、Rose和Mike,属性有sex 和age:sets:students/John,Jill,Rose,Mike/:sex,age;endsets,2013年秋季Lingo by Rodan,集合段,示例,Setname/member_list/:attribute_list;,原始集语法,2.当隐式罗列成员时,不必罗列出每个集成员。可采用如下语法:setname/member1.memberN/:attribute_list;这里的member1是集的第一个成员名,memberN是集的最末一个成员名。LINGO将自动产生中间的所有成员名。LINGO也接受一些特定的首成员名和末成员
4、名,用于创建一些特殊的集。示例:,2013年秋季Lingo by Rodan,集合段,示例,Setname/member_list/:attribute_list;,原始集语法,集成员不放在集定义中,而在随后的数据部分来定义。!集部分;sets:students:sex,age;endsets!数据部分;data:students,sex,age=John 1 16 Jill 0 14 Rose 0 17 Mike 1 13;enddata,不推荐,2013年秋季Lingo by Rodan,派生集合,Setname(parent_set_list)/member_list/:attribut
5、e_list;,派生集语法,setname是派生集的名字。parent_set_list是已定义的集的列表,多个时必须用逗号隔开。如果没有指定成员列表,那么LINGO会自动创建父集成员的所有组合作为派生集的成员。派生集的父集既可以是原始集,也可以是其它的派生集。,指定成员:SETS:node/1,2,3,4/;!节点集合;link(node,node)/1,2 1,3 2,3 3,4/:weight,capacity;Endsets,不指定成员:SETS:node/1,2,3,4/;!节点集合;link(node,node):weight,capacity;Endsets,2013年秋季Lin
6、go by Rodan,派生集合,Setname(parent_set_list)/member_list/:attribute_list;,派生集语法,不是全部,但是满足某些条件?比如完全图(每个点都跟别的点邻接),加过滤条件,派生集合名(父集合)|过滤条件:属性列表;,不指定成员:SETS:node/1,2,3,4/;!节点集合;link1(node,node):weight,capacity;!成员个数为几个?link2(node,node)|Endsets,程序示例,2013年秋季Lingo by Rodan,派生集合,Setname(parent_set_list)/member_l
7、ist/:attribute_list;,派生集语法,SETS:node/1,2,3,4/;!节点集合;link1(node,node):weight,capacity;link2(node,node)|Endsets,成员列表充当了下标的角色,2013年秋季Lingo by Rodan,Lingo模型的基本要素,15/16,2013年秋季Lingo by Rodan,数据部分,对象列(object_list)包含要指定值的属性名、要设置集成员的集名,用逗号或空格隔开。一个对象列中至多有一个集名,而属性名可以有任意多。数值列(value_list)包含要分配给对象列中的对象的值,用逗号或空格隔
8、开。注意属性值的个数必须等于集成员的个数。,2013年秋季Lingo by Rodan,数据部分,sets:glass/A,B,C/:capacity,price;endsets data:capacity=1,2,3;price=4,5,6;enddata,sets:glass/A,B,C/:capacity,price;endsets data:capacity,price=1 4 2 5 3 6;enddata,2013年秋季Lingo by Rodan,Lingo模型的基本要素,2013年秋季Lingo by Rodan,18/16,模型的初始部分,一个初始部分以“init:”开始,以
9、“endinit”结束。初始部分的初始声明规则和数据部分的数据声明规则相同,init:X,Y=0,.1;endinit Y=log(X);X2+Y2=1;,没什么太大区别,减少求解时间?呵呵,2013年秋季Lingo by Rodan,Lingo模型的基本要素,20/16,2013年秋季Lingo by Rodan,2013年秋季Lingo by Rodan,目标与约束,算术运算符是针对数值进行操作的。LINGO提供了5种二元运算符:乘方乘除加减LINGO唯一的一元算术运算符是取反函数“”。这些运算符的优先级由高到底为:高(取反)低运算符的运算次序为从左到右按优先级高低来执行。运算的次序可以用
10、圆括号“()”来改变。例如 算术运算符示例。253,(24)5等等。,(1)算术运算符,2013年秋季Lingo by Rodan,变量界定函数实现对变量取值范围的附加限制,共4种:bin(x)限制x为0或1 bnd(L,x,U)限制LxU free(x)取消对变量x的默认下界为0的限制,即x可以取任意实数 gin(x)限制x为整数 在默认情况下,LINGO规定变量是非负的,也就是说下界为0,上界为+。,目标与约束,2013年秋季Lingo by Rodan,#not#否定该操作数的逻辑值,not是一个一元运算符#eq#若两个运算数相等,则为true;否则为flase#ne#若两个运算符不相等
11、,则为true;否则为flase#gt#若左边的运算符严格大于右边的,则为true;否则为flase#ge#若左边的运算符大于或等于右边的,则为true;否则为flase#lt#若左边的运算符严格小于右边的,则为true;否则为flase#le#若左边的运算符小于或等于右边的,则为true;否则为flase#and#仅当两个参数都为true时,结果为true;否则为flase#or#仅当两个参数都为false时,结果为false;否则为true 这些运算符的优先级由高到低为:#not#eq#ne#gt#ge#lt#le#and#or#,目标与约束,(2)逻辑运算符,2013年秋季Lingo b
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 通信网 理论基础 虞红芳 ling

链接地址:https://www.31ppt.com/p-6028788.html