lingo求解多目标规划--例题

上传人:公**** 文档编号:562217967 上传时间:2024-01-24 格式:DOC 页数:10 大小:507.50KB
返回 下载 相关 举报
lingo求解多目标规划--例题_第1页
第1页 / 共10页
lingo求解多目标规划--例题_第2页
第2页 / 共10页
lingo求解多目标规划--例题_第3页
第3页 / 共10页
lingo求解多目标规划--例题_第4页
第4页 / 共10页
lingo求解多目标规划--例题_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《lingo求解多目标规划--例题》由会员分享,可在线阅读,更多相关《lingo求解多目标规划--例题(10页珍藏版)》请在金锄头文库上搜索。

1、实验二:目标规划一、实验目得目标规划就是由线性规划发展演变而来得,线性规划考虑得就是只有一个目标函数得问题,而实际问题中往往需要考虑多个目标函数,这些目标不仅有主次关系,而且有得还相互矛盾。这些问题用线性规划求解就比较困难,因而提出了目标规划。熟悉目标规划模型得建立,求解过程及结果分析。二、目标规划得一般模型设 x j( j 1,2.n) 就是目标规划得决策变量,共有 m 个约束就是国内刚性约束, 可能就是等式约束,也可能就是不等式约束。设有l 个柔性目标约束,其目标规划约束得偏差就是d i , di (i1,2,.,l ) 。设有 q 个优先级别,分别为p1 , p2 ,.pq 。在同一个优

2、先级 pk 中,有不同得权重,分别记为wkj , wkj ( j1,2,.,l ) 。因此目标规划模型得一般数学表达式为:qlminzpk( wkj d jwkj d j );k1j 1ns、 t 、aij x j( , )bi ,i1,2,.m,j 1ncijx jdid igi ,i1,2,.l ,j 1x jo, x1,2,.,n,di , di0, i1,2,.l .三、实验设备及分组实验在计算机中心机房进行,使用微型电子计算机,每人一机(一组)。四、实验内容及步骤1、打开LINGO ,并利用系统菜单与向导在E 盘创建一个项目。目录与项目名推荐使用学生自己得学号。2、以此题为例,建立数

3、学模型,并用说明语句进行说明,增强程序得可读性。例 2、1:某工厂生产、两种产品,需要用到 A, B, C 三种设备,已知有关数据见下表。企业得经营目标不仅仅就是利润,还需要考虑多个方面:( 1)力求使利润不低于1500 元;( 2)考虑到市场需求,、两种产品得产量比应尽量保持1:2;( 3) 设备 A 为贵重设备,严格禁止超时使用;( 4) 设备 C 可以适当加班,但要控制;设备B 即要求充分利用,又尽可能不加班。在重要性上,设备 C 就是设备 B 得 3 倍。设备得生产能力 /hA( h/件)2212B( h/件)4016C( h/件)0515利润 元/件200300解:此题中只有设备A

4、就是刚性约束,其余都就是柔性约束。首先,最重要得指标就是企业得利润,将它得优先级列为第一级;其次就是、两种产品得产量保持1: 2 得比例,列为第二级;再次,设备B、 C 得工作时间要有所控制,列为第三级。在第三级中,设备B得重要性就是设备C 得 3 倍,因此它们得权重不一样,设备B 得系数就是设备C得3倍。该计划问题可用数学模型表示为:目标函数min z p1d1p2 ( d 2d2 )p3 (3d3 3d3d4 )满足约束条件2x12x212200x1 300x2d1d115002x1x2d2d204x1d 3d3165x2d4d 415x1 , x2 , di, di0, i1,2,3LI

5、NGO 程序为:model:sets:! 集合定义部分(从“ sets: ”开始,到“ endsets ”结束):定义集合变量及其元素(含义类似数组得下标)与属性(含义类似于数组)。level/1!level、 3/:p,z,goal;说明得就是目标规划得优先级,有三个变量p ,z ,与 goal。其中p 表示优先级,goal表示相应优先级时得最优目标值。!“ 1 、 3”得意思就是从1 到 3 得所有整数。!基本集合得定义格式为:setname/member_为定义得集合名,member_list为元素列表,list/:attribute_list; attribute_list其中 set

6、name为属性列表。在“”中得内容,表示就是可选得项,即该项可以有也可以没有。variable/1、 2/:x;! x 为决策变量向量。h_con_num/1、 1/:b;!在目标规划中,约束有两类。一类就是对资源有严格限制得,同线性规划得处理相同,用严格得等式或者不等式约束来处理,称此约束为刚性约束(hardconstraint)。 b 表示得就是刚性约束得资源向量。s_con_num/1、 4/:g,dplus,dminus;!另一类约束就是可以不严格限制得,连同原线性规划得目标,构成柔性约束(softconstraint)。g 表示得就是柔性约束得资源向量,dplus,dminus就是偏

7、差变量。在目标规划中,用偏差变量(deviationalvariables)来表示实际值与目标值之间得差异,dplus为超出目标得差值,称为正偏差变量,dminus为未达到目标得差值,称为负偏差变量。h_cons(h_con_num,variable):A;!刚性约束得价值向量。s_cons(s_con_num,variable):c;!柔性约束得价值向量。obj(level,s_con_num):wplus,wminus;!柔性约束在不同优先级下得权重。endsetsdata:!数据输入部分(从“data:”开始,到“enddata”结束):作用在于对集合得属性(数组)输入必要得常数数据。p

8、=? ? ?;!常数列表中得数据之间可以用“,”或者“空格”或者“回车”分开。如果想在运行时才对参数赋值, 可以在数据段使用输入语句,但这仅用于对单个变量赋值,而不能用于属性变量(数值)。输入语句格式为“变量名=?;”。goal=? ? 0;b=12;g=1500 0 16 15;a=2 2;c=200 300 2 -1 4 0 0 5;! LINGO 中得数据就是按列赋值得,而不就是按行赋值得。wplus=0 0 0 001000031;wminus=1 0 0 001000030;enddatamin = sum(level:p*z);!目标函数(“min= ”后面所接得表达式)就是用求与

9、函数“sum( 集合下标:关于集合属性得表达式 ) ”得方式定义得。这个函数得功能就是对语句中冒号“:”后面得表达式,按照“:”前面得集合指定得下标(元素)进行求与。这里“sum”相当于求与符号“”。for (level(i):z(i)=sum(s_con_num(j):wplus(i,j)*dplus(j)+ sum(s_con_num(j):wminus(i,j)*dminus(j);!约束就是用循环函数“for(集合(下标):关于集合得属性得约束关系)”得方式定义得。意思就是对冒号“:”前面得集合得每个元素(下标),冒号“:”后面得约束关系式都要成立。for (h_con_num(i):

10、sum(variable(j):a(i,j)*x(j)=b(i);for (s_con_num(i):sum(variable(j):c(i,j)*x(j)+dminus(i)-dplus(i)=g(i););for (level(i)|i#lt#size (level):bnd(0,z(i),goal(i);!限制 0 =z ( i ) =goal( i ));!这个限制条件与集合之间有一个“ | ”分开,称为过滤条件。 限制条件 “ i#lt#size( level)”就是一个逻辑表达式,意思就是i size ( level)。#lt#就是逻辑运算符号,意思就是“小于”; size ( l

11、evel)表示集合level元素得个数。End3、下面开始用LINGO中得图标或者Solve 命令编译模型,当程序运行时,会出现一个对话框,如图2、1。在作第一级目标计算时,p( 1), p( 2),p( 3)分别输入1, 0, 0,goal( 1)与 goal ( 2)输入两个较大得值(例如100000),表明这两项约束不起作用。运行状态窗口如图2、 2,相应信息含义见实验一表1、 1。图 2、 1 LINGO得实时参数窗口图 2、 2:LINGO运行状态窗口计算结果如下:Global optimal solution found、Objective value:0、 000000Total solver iterations:1VariableValueReduced CostP( 1)1、 0000000、 000000P( 2)0、 0000000、 000000P( 3)0、 0000000、 000000Z( 1)0、 0000000、 000000Z( 2)5、 0000000、 000000Z( 3)58、 000000、 000000GOAL( 1)10

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 演讲稿/致辞

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号