




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
第3讲:LINGO基本使用方法一、LINGO入门主窗口新建文件运行状态窗口运行状态窗口运行状态窗口单纯型法在2次迭代后得到最优解一个简单的LINGO程序程序语句输入的备注:输出结果:输出结果备注:(1)集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。原始集(primitiveset):一个原始集是由一些最基本的对象组成的。2.3模型的集部分(可选部分)语法:setname[/member_list/][:attribute_list];隐式成员列表格式例3SAILCO公司需要决定下四个季度的帆船生产量。下四个季度的帆船需求量分别是40条,60条,75条,25条,这些需求必须按时满足。每个季度正常的生产能力是40条帆船,每条船的生产费用为400美元。如果加班生产,每条船的生产费用为450美元。每个季度末,每条船的库存费用为20美元。假定生产提前期为0,初始库存为10条船。如何安排生产可使总费用最小?问题的模型(可以看出是LP模型)注:LINDO中没有数组,只能对每个季度分别定义变量,如正常产量就要有RP1,RP2,RP3,RP44个变量等。写起来就比较麻烦,尤其是更多(如1000个季度)的时候。 记四个季度组成的集合QUARTERS={1,2,3,4},它们就是上面数组的下标集合,而数组DEM,RP,OP,INV对集合QUARTERS中的每个元素1,2,3,4分别对应于一个值。LINGO正是充分利用了这种数组及其下标的关系,引入了“集合”及其“属性”的概念,把QUARTERS={1,2,3,4}称为集合,把DEM,RP,OP,INV称为该集合的属性(即定义在该集合上的属性)。QUARTERS集合的属性集合元素及集合的属性确定的所有变量LINGO中定义集合及其属性目标函数的定义方式约束的定义方式本例中,对于产品数量的平衡方程,由于下标i=1时的约束关系式与i=2,3,4时有所区别,所以不能省略下标“i”。实际上,i=1时要用到变量INV(0),但定义的属性变量中INV不包含INV(0)(INV(0)=10是一个已知的)。 为了区别i=1和i=2,3,4,把i=1时的约束关系式单独写出,即“INV(1)=10+RP(1)+OP(1)-DEM(1);”; 而对i=2,3,4对应的约束,对下标集合的元素(下标i)增加了一个逻辑关系式“i#GT#1”(这个限制条件与集合之间有一个竖线“|”分开,称为过滤条件)。 限制条件“i#GT#1”是一个逻辑表达式,意思就是i>1;“#GT#”是逻辑运算符号,意思是“大于(GreaterThan的字首字母缩写)”。问题的求解:运行菜单命令“LINGO|Solve”注:由于输入中没有给出行名,所以行名是系统自动按照行号1-9生成的。 选择菜单命令“LINGO|Generate|Displymodel(Ctrl+G)”,可以得到展开形式的模型(如图),可以看到完整的模型,也能确定行号(行号放在方括号“[]”中,且数字前面带有下划线“_”)。 最好在输入模型时用户主动设定约束的行名(即约束名),使程序清晰些。单一约束的行名设置方法就是将行名放在方括号“[]”中,置于约束之前。 后面将结合具体例子介绍在使用集合的情况下如何设置行名。小结:LINGO模型最基本的组成要素(2)目标与约束段:目标函数、约束条件等,没有段的开始和结束标记,因此实际上就是除其它四个段(都有明确的段标记)外的LINGO模型。 这里一般要用到LINGO的内部函数,尤其是与集合相关的求和函数@SUM和循环函数@FOR等。 上例中定义的目标函数与quarters的元素数目是4或1000并无具体的关系。约束的表示也类似。(3)数据段(DATA):以“DATA:”开始,“ENDDATA”结束,对集合的属性(数组)输入必要的常数数据。 格式为:“attribute(属性)=value_list(常数列表);” 常数列表(value_list)中数据之间可以用逗号“,”分开,也可以用空格分开(回车等价于一个空格),如上面对DEM的赋值也可以写成“DEM=40607525;”。(4)初始段(INIT):以“INIT:”开始,“ENDINIT”结束,对集合的属性(数组)定义初值(因为求解算法一般是迭代算法,所以用户如果能给出一个比较好的迭代初值,对提高算法的计算效果是有益的)。 如果有一个接近最优解的初值,对LINGO求解模型是有帮助的。定义初值的格式为: “attribute(属性)=value_list(常数列表);” 这与数据段中的用法是类似的。 上例中没有初始化部分,我们将在下一个例子中举例说明。(5)计算段(CALC):以“C

王子****青蛙
实名认证
内容提供者


最近下载
最新上传
浙江省宁波市2024-2025学年高三下学期4月高考模拟考试语文试题及参考答案.docx
汤成难《漂浮于万有引力中的房屋》阅读答案.docx
四川省达州市普通高中2025届第二次诊断性检测语文试卷及参考答案.docx
山西省吕梁市2025年高三下学期第二次模拟考试语文试题及参考答案.docx
山西省部分学校2024-2025学年高二下学期3月月考语文试题及参考答案.docx
山西省2025年届高考考前适应性测试(冲刺卷)语文试卷及参考答案.docx
全国各地市语文中考真题名著阅读分类汇编.docx
七年级历史下册易混易错84条.docx
湖北省2024-2025学年高一下学期4月期中联考语文试题及参考答案.docx
黑龙江省大庆市2025届高三第三次教学质量检测语文试卷及参考答案.docx