版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数学规划模型与lingo入门数学规划模型与lingo入门1数学规划模型决策变量x=(x1,
x2,…,xn)目标函数MinZ=f(x)约束条件s.tx
A(
Rn)等式或不等式求解线性:单纯形法非线性:……数学规划线性规划非线性规划整数规划连续规划0-1规划一、Lingo软件数学规划模型决策变量x=(x1,x2,…,x2二、Lingo基本语法1、定义了目标函数为MIN=..MAX=..2、以一个分号“;”结尾——除SETS,ENDSETS,DATA,ENDDATA,END之外3、可以放在约束条件的右端,同时数字也可放在约束条件的左端。4、假定各变量非负。5、注释:“!”6、<、>为≤、≥二、Lingo基本语法1、定义了目标函数为MIN=..3逻辑运算符#NOT#否定#EQ#相等#NE#不等#AND#并且#OR#或者#GT#大于#GE#大于等于#LT# 小于#LE#小于等于算术运算符+-*/^关系运算符<(=)=>(=)三、Lingo运算符和函数1、运算符及其优先级逻辑运算符#NOT#否定#EQ#相等#NE#不等#AND#并4Lingo内部函数——”@”@ABS(X)@SIN(X)@COS(X)@TAN(X)@LOG(X)@EXP(X)@SMAX(list)@SMIN(list)@SIGN(X)@FLOOR(X)2、Lingo基本数学函数Lingo内部函数——”@”@ABS(X)@SIN(X)5@GIN(X)整数变量@BIN(X)0-1变量@FREE(X)自由变量@BND(L,X,U)[L,U]3、Lingo变量定界函数分段函数@IF(logical_condition,true_result,false_result)4、Lingo条件判断函数5、Lingo集合循环函数难点!重点!——略@GIN(X)整数变量@BIN(X)0-1变量@FREE6例1@free(x2);min=1.4*x1+7*x2+0.9*x3+6*x4+3*x5+4.1*x6;6.1*x1+8.4*x2+.9*x3+8.5*x4+4.8*x5+2.3*x6=31.82;x6=x4+0.1;x3=@if(x5#gt#0,x5-0.2,x1+0.4);x4=@if(x6#gt#0,x6-0.1,x4);@bnd(-5,x1,5);@bnd(0,x3,1.3);例1@free(x2);min=1.4*x1+7*x2+0.7例2加工奶制品的生产计划1桶牛奶3公斤A1
12小时8小时4公斤A2
或获利24元/公斤获利16元/公斤50桶牛奶时间480小时至多加工100公斤A1
制订生产计划,使每天获利最大每天:例2加工奶制品的生产计划1桶牛奶3公斤A112小81桶牛奶3公斤A1
12小时8小时4公斤A2
或获利24元/公斤获利16元/公斤x1桶牛奶生产A1
x2桶牛奶生产A2
获利24×3x1
获利16×4x2
原料供应
劳动时间
加工能力
决策变量
目标函数
每天获利约束条件非负约束
线性规划模型(LP)时间480小时至多加工100公斤A1
50桶牛奶每天1桶牛奶3公斤A112小时8小时4公斤A2或获利29线性规划模型的一般形式
目标函数和所有的约束条件都是设计变量的线性函数.线性规划模型的一般形式目标函数和所有的约束条10模型求解
图解法
x1x20ABCDl1l2l3l4l5约束条件目标函数
Z=0Z=2400Z=3360z=c(常数)~等值线c在B(20,30)点得到最优解目标函数和约束条件是线性函数可行域为直线段围成的凸多边形目标函数的等值线为直线最优解一定在凸多边形的某个顶点取得。模型求解图解法x1x20ABCDl1l2l3l4l5约束11模型求解
软件实现
LINGOmax=72*x1+64*x2;x1+x2<50;12*x1+8*x2<480;3*x1<100;
OBJECTIVEFUNCTIONVALUE
1)3360.000
VARIABLEVALUEREDUCEDCOST
X120.0000000.000000
X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES2)0.00000048.0000003)0.0000002.0000004)40.0000000.000000NO.ITERATIONS=2DORANGE(SENSITIVITY)ANALYSIS?No20桶牛奶生产A1,30桶生产A2,利润3360元。模型求解软件实现LINGOmax=72*x1+64*12例2加工奶制品的生产计划1桶牛奶3公斤A1
12小时8小时4公斤A2
或获利24元/公斤获利16元/公斤50桶牛奶时间480小时至多加工100公斤A1
35元可买到1桶牛奶,买吗?若买,每天最多买多少?
可聘用临时工人,付出的工资最多是每小时几元?A1的获利增加到30元/公斤,应否改变生产计划?每天:例2加工奶制品的生产计划1桶牛奶3公斤A112小13结果解释
OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000
ROW
SLACKORSURPLUSDUALPRICES
2)0.00000048.000000
3)0.0000002.0000004)40.0000000.000000NO.ITERATIONS=2原料无剩余时间无剩余加工能力剩余40max=72*x1+64*x2;x1+x2<50;12*x1+8*x2<480;3*x1<100;三种资源“资源”剩余为零的约束为紧约束(有效约束)结果解释OBJECTIVEFUNCTIONVA14结果解释
OBJECTIVEFUNCTIONVALUE1)3360.000VARIABLEVALUEREDUCEDCOSTX120.0000000.000000X230.0000000.000000ROWSLACKORSURPLUSDUALPRICES
2)0.00000048.000000
3)0.0000002.000000
4)40.0000000.000000NO.ITERATIONS=2最优解下“资源”增加1单位时“效益”的增量原料增加1单位,利润增长48时间增加1单位,利润增长2加工能力增长不影响利润影子价格35元可买到1桶牛奶,要买吗?35<48,应该买!
聘用临时工人付出的工资最多每小时几元?2元!结果解释OBJECTIVEFUNCTIO15RANGESINWHICHTHEBASISISUNCHANGED:
OBJCOEFFICIENTRANGES
VARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASE
X172.00000024.0000008.000000X264.0000008.00000016.000000RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250.00000010.0000006.6666673480.00000053.33333280.0000004100.000000INFINITY40.000000最优解不变时目标函数系数允许变化范围DORANGE(SENSITIVITY)ANALYSIS?
Yesx1系数范围(64,96)
x2系数范围(48,72)A1获利增加到30元/千克,应否改变生产计划x1系数由243=72增加为303=90,在允许范围内不变!(约束条件不变)RANGESINWHICHTHEBASISISU16结果解释
RANGESINWHICHTHEBASISISUNCHANGED:OBJCOEFFICIENTRANGESVARIABLECURRENTALLOWABLEALLOWABLECOEFINCREASEDECREASEX172.00000024.0000008.000000X264.0000008.00000016.000000
RIGHTHANDSIDERANGESROWCURRENTALLOWABLEALLOWABLERHSINCREASEDECREASE250.00000010.0000006.6666673480.00000053.33333280.0000004100.000000INFINITY40.000000影子价格有意义时约束右端的允许变化范围原料最多增加10时间最多增加5335元可买到1桶牛奶,每天最多买多少?最多买10桶!(目标函数不变)结果解释RANGESINWHICHTHEBASIS17基本使用构成:4个段目标与约束段集合段(SETSENDSETS)数据段(DATAENDDATA)初始段(INITENDINIT)(计算段(CALCENDCALC))四、Lingo建模语言基本使用构成:4个段目标与约束段四、Lingo建模语言18某公司有6个建筑工地,位置坐标为(ai,bi)(单位:公里),水泥日用量di
(单位:吨)假设:料场和工地之间有直线道路(1)现有2料场,位于A(5,1),B(2,7),记(xj,yj),j=1,2,日储量ej各有20吨。制定每天的供应计划:即从A,B两料场分别向各工地运送多少吨水泥,使总的吨公里数最小。i123456a1.258.750.55.7537.25b1.250.754.7556.57.75d3547611例3选址问题决策目标约束某公司有6个建筑工地,位置坐标为(ai,bi)(单位:公里19解:决策变量:料场j到工地i的运量——
cij
——12维线性规划模型?lingo——表达式?目标:吨公里约束:需求供应解:决策变量:目标:吨公里约束:需求20目标与约束段MODEL:TitleLocationProblem;sets:demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand,supply):c;endsetsdata:a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,4.75,5,6.5,7.75;d=3,5,4,7,6,11;e=20,20;x,y=5,1,2,7;enddatainit:endinitmin=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2));@for(demand(i):@sum(supply(j):c(i,j))=d(i););@for(supply(i):@sum(demand(j):c(j,i))<=e(i););@for(supply:@free(X);@free(Y););END集合段数据段初始段供应约束需求需求点的位置供需量供应初始点目标需求约束连接目标与约束段MODEL:集合段数据段初始段供应约束需求需求点21建筑工地位置坐标(ai,bi)、水泥日用量di
:对每个建筑工地(6个)都有一个对应的值都是一个由6个元素组成的数组——是已知的料场位置坐标(xj,yj)、日储量ej对每个料场(2个)都有一个对应的值都是一个由2个元素组成的数组——目前是已知的料场到建筑工地的供应计划cij
对每个料场与建筑工地之间(6×2)都有一个对应的值是一个6×2个元素组成的矩阵——是未知数LINDO无数组,每个变量输入——麻烦(1)Lingo的集合Set——下标集合——100个工地?1、Lingo的集合Set及其属性Attribute例3建筑工地位置坐标(ai,bi)、水泥日用量di:(1)22Lingo中集的定义语法:setname/member_list/:attribute_list;
说明:setname为集的名称;
/member_list/为成员列表;
attribute_list为属性列表。Lingo中集的定义语法:23(2)集合Set及其属性Attribute定义数组下标集合demand/1..6/———表示6个建筑工地a,b,d称为该集合的属性———表示坐标(ai,bi)、水泥日用量di定义数组下标集合supply/1..2/———表示6个建筑工地该集合的属性x,y,e———表示坐标(xj,yj)、日储量ej
定义数组下标集合link(demand,supply)———表示6×2个料场到建筑工地的连接该集合的属性c———表示每个料场与建筑工地之间供应计划cij1到6的整数(2)集合Set及其属性Attribute定义数组下标集合d24建立下标集合(3)Lingo建模语言——集合段数据段需求点的位置供需量sets:demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand,supply):c;endsetsdata:a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,4.75,5,6.5,7.75;d=3,5,4,7,6,11;e=20,20;x,y=5,1,2,7;enddata赋值需求供应连接建立下标集合(3)Lingo建模语言——集合段数据段需25直接把元素列举出来定义格式——集合名元素列表属性列表
setname[/member_list/][:attribute_list];[……]——可选项元素列表显式列举法——列出全部元素,用逗号或空格分开隐式列举法——1..n属性列表缺省——集合可在程序中作为一循环变量使用,构造更复杂的派生集合元素列表缺省——必须在数据段给出元素列表赋值基本集合primaryset(4)定义集合Set直接把元素列举出来基本集合primaryset(4)定义集26派生集合derivedset基于其它集合而派生出来的二维或多维集合定义格式——集合名父集合列表元素列表属性列表
setname(parent_set_list)[/member_list/][:attribute_list];元素列表缺省所有组合——稠密集合、或数据段列表赋值元素列表——稀疏集合元素列表法——枚举元素过滤法——利用过滤条件setname(parent_set_list)[|filtrate_condition][:attribute_list];派生集合derivedset基于其它集合而派生出来的二维或27建立下标集合例3
选址问题需求点的位置供需量sets:demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand,supply):c;endsetsdata:a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,4.75,5,6.5,7.75;d=3,5,4,7,6,11;e=20,20;x,y=5,1,2,7;enddata赋值需求供应连接基本集合派生集合建立例3
选址问题需求点的位置供需量sets:data:赋值28集合的类型setname[/member_list/][:attribute_list];setname(parent_set_list)[/member_list/][:attribute_list];SETS:CITIES/A1,A2,A3,B1,B2/;ROADS(CITIES,CITIES)/ A1,B1A1,B2A2,B1A3,B2/:D;ENDSETSSETS:STUDENTS/S1..S8/;PAIRS(STUDENTS,STUDENTS)|&2#GT#&1:BENEFIT,MATCH;ENDSETS集合基本集合派生集合稠密集合稀疏集合直接列举法隐式列举法元素列表法元素过滤法集合的类型setname[/member_list/][29难点!重点!循环操作函数——集合上的元素——下标:集合函数名@function(setname[(set_index_list)[|condition]]:expression_list);集合名集合索引列表过滤条件表达式FOR MAX MIN SUM PROD2、Lingo集合循环函数难点!重点!循环操作函数——集合上的元素——下标:集合函数名30目标:吨公里例3选址问题min=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2));sets:demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand,supply):c;endsets目标:吨公里例3选址问题min=@sum(link(i,j31约束:非负!@for(supply:@free(X);@free(Y););@for(demand(i):@sum(supply(j):c(i,j))=d(i););@for(supply(i):@sum(demand(j):c(j,i))<=e(i););约束:
需求
供应约束:!@for(supply:@free(X);@f32目标与约束段MODEL:TitleLocationProblem;sets:demand/1..6/:a,b,d;supply/1..2/:x,y,e;link(demand,supply):c;endsetsdata:a=1.25,8.75,0.5,5.75,3,7.25;b=1.25,0.75,4.75,5,6.5,7.75;d=3,5,4,7,6,11;e=20,20;x,y=5,1,2,7;enddatainit:endinitmin=@sum(link(i,j):c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2));@for(demand(i):@sum(supply(j):c(i,j))=d(i););@for(supply(i):@sum(demand(j):c(j,i))<=e(i););@for(supply:@free(X);@free(Y););END集合段数据段初始段供应约束需求需求点的位置供需量供应初始点目标需求约束连接结果:总吨公里数为136.2小结定义集合输入数据使用集合目标与约束段MODEL:集合段数据段初始段供应约束需求需求点336个建筑工地:坐标为(ai,bi),水泥日用量di
(2)改建两个新料场需要确定新料场位置(xj,yj)和运量cij,使总吨公里数最小。决策变量:cij,(xj,yj)~16维线性规划模型?例3选址问题——进一步讨论目标:吨公里约束:需求供应6个建筑工地:坐标为(ai,bi),水泥日用量di决策变34集合段数据段初始段目标与约束段最优:89.8835(吨公里)局部全部?LINGO集合段数据段初始段目标与最优:89.8835(吨公里)局部35求全局解Lingooptions求全局解Lingo36边界边界37界面主窗口模型窗口ModelWindow状态栏当前时间当前光标位置五、Lingo的菜单及对话框1、LINGO的界面界面主窗口模型窗口状态栏当前时间当前光标五、Lingo的菜38File|Open(F3)打开文件File|Print(F7)打印文件Edit|Copy(Ctrl+C)复制Edit|Undo(Ctrl+Z)取消操作Edit|Find(Ctrl+F)查找LINGO|Solution(Alt+O)显示解答Edit|MatchParenthesis(Ctrl+P)匹配括号LINGO|Options(Ctrl+I)选项设置Window|CloseAll(Alt+X)关闭所有窗口Help|Contents(F1)在线帮助File|New(F2)新建文件File|Save(F4)保存文件Edit|Cut(Ctrl+X)剪切Edit|Paste(Ctrl+V)粘贴Edit|Redo(Ctrl+Y)恢复操作Edit|GoToLine(Ctrl+T)定位某行LINGO|Solve(Ctrl+S)求解模型LINGO|Picture(Ctrl+K)模型图示Window|SendtoBack(Ctrl+B)窗口后置Window|Tile(Alt+T)
平铺窗口上下文相关的帮助
2、LINGO的工具栏File|OpenFile|PrintEdit|CopyEd39FileExportFile…UserDatabaseInfoEditPastePasteSpecial…Match
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 设备工作指引试题57测试卷附答案
- 2026电气自动化plc考试题库及答案
- 2026电能计量考试题及答案
- 艾滋病、性病、丙肝防控知识培训试题测试卷附答案
- 2026年水上作业人员安全考试题库及答案
- 无菌物品储存与发放操作规范
- 2025年专业技术人员知识产权维权理论知识测试题(含答案)
- 2026年自动喷水灭火系统专业考试试卷及答案
- 医学影像设备学考试题库及答案(四)
- 国家开放大学电大本科《劳动与社会保障法》名词解释题题库及答案
- 2026河北石家庄市栾城区殡仪馆公开招聘工作人员2名考试模拟试题及答案详解
- 2026年新疆医科大学第四附属医院(新疆维吾尔自治区中医医院)招聘编制外工作人员(125人)笔试备考试题及答案详解
- 市政给水管网专项施工方案
- 施工现场安全管理方案
- 2026贵州能源集团有限公司第三批综合管理岗公开招聘100人笔试备考试题及答案详解
- 2025年检察官入额遴选考试真题及答案
- 【2026】年部编版道德与法治新教材二年级上册全册教案(共4个单元含教学计划)
- 机加工中心切削液管理规范
- 2026届广东省深圳市宝安区高三上学期教学质量检测生物试题(解析版)
- 易制毒从业人员培训课件
- 校企人才培养合作框架协议模板
评论
0/150
提交评论