lingo求解多目标规划_第1页
lingo求解多目标规划_第2页
lingo求解多目标规划_第3页
lingo求解多目标规划_第4页
lingo求解多目标规划_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验二:目标规划一、 实验目的目标规划是由线性规划发展演变而来的,线性规划考虑的是只有一个目标函数的问题,而实际问题中往往需要考虑多个目标函数,这些目标不仅有主次关系,而且有的还相互矛盾。这些问题用线性规划求解就比较困难,因而提出了目标规划。熟悉目标规划模型的建立,求解过程及结果分析。二、 目标规划的一般模型设x(j=1,2...n)是目标规划的决策变量,共有m个约束是国内刚性约束,可能是等式j约束,也可能是不等式约束。设有l个柔性目标约束,其目标规划约束的偏差是d+,d-(i=1,2,...,l)。设有q个优先级别,分别为p,p,…p。在同一个优先级〃“中,有ii 1 2q k不同的权重,分别记为Wj,w-(j=1,2,…,l)。因此目标规划模型的一般数学表达式为:minz=&£(w-d-+w+d+);kkjjkjjk=1 j=1£nax<(=,>)b,i=1,2,...m,j=1£cx+d——d+=g,i=1,2,...l,ijjiiij=1x,>o,x=1,2,...,n,d-,d+>0,i=1,2,...l.三、实验设备及分组实验在计算机中心机房进行,使用微型电子计算机,每人一机(一组)。四、实验内容及步骤1、 打开LINGO,并利用系统菜单和向导在E盘创建一个项目。目录和项目名推荐使用学生自己的学号。2、 以此题为例,建立数学模型,并用说明语句进行说明,增强程序的可读性。例:某工厂生产1、11两种产品,需要用到A,B,C三种设备,已知有关数据见下表。企业的经营目标不仅仅是利润,还需要考虑多个方面:力求使利润不低于1500元;考虑到市场需求,1、11两种产品的产量比应尽量保持1:2;设备A为贵重设备,严格禁止超时使用;设备C可以适当加班,但要控制;设备B即要求充分利用,又尽可能不加班。在重要性上,设备C是设备B的3倍。1II设备的生产能力/hA(h/件)2212B(h/件)4016C(h/件)0515利润元/件200300解:此题中只有设备A是刚性约束,其余都是柔性约束。首先,最重要的指标是企业的利润,将它的优先级列为第一级;其次是1、11两种产品的产量保持1:2的比例,列为第二级;再次,设备B、6的工作时间要有所控制,列为第三级。在第三级中,设备B的重要性是设备C的3倍,因此它们的权重不一样,设备B的系数是设备C的3倍。该计划问题可用数学模型表示为:目标函数 minz-pd-+p(d-+d+)+p(3d-+3d++d+)TOC\o"1-5"\h\z11 2 2 2 3 3 3 4\o"CurrentDocument"满足约束条件 2气+2% <12200x+300x+d--d+-15001 2 1 12x一x+d——d+-012 2 24x +d——d+-165x+d——d+-15x,x,d-,d+>0,i-1,2,31 2iiLINGO程序为:model:sets:!集合定义部分(从“sets:”开始,到“endsets”结束):定义集合变量及其元素(含义类似数组的下标)和属性(含义类似于数组)。level/1..3/:p,z,goal;!level说明的是目标规划的优先级,有三个变量p,z,和goal。其中p表示优先级,goal表示相应优先级时的最优目标值。!“1..3”的意思是从1到3的所有整数。!基本集合的定义格式为:setname[/member_list/][:attribute_list];其中setname为定义的集合名,member_list为元素列表,attribute_list为属性列表。在“[]”中的内容,表示是可选的项,即该项可以有也可以没有。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是偏差变量。在目标规划中,用偏差变量(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=;!常数列表中的数据之间可以用“,”或者“空格”或者“回车”分开。如果想在运行时才对参数赋值,可以在数据段使用输入语句,但这仅用于对单个变量赋值,而不能用于属性变量(数值)。输入语句格式为“变量名=;”。goal=0;b=12;g=150001615;a=22;c=2003002-14005;!LINGO中的数据是按列赋值的,而不是按行赋值的。wplus=000001000031;wminus=100001000030;enddatamin=@sum(level:p*z);!目标函数(“min二”后面所接的表达式)是用求和函数"@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):@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)o#lt#是逻辑运算符号,意思是“小于”;@size(level)表示集合level元素的个数。End3、下面开始用LINGO中的图标或者Solve命令编译模型,当程序运行时,会出现一个对话框,如图。在作第一级目标计算时,p(1),p(2),p(3)分别输入1,0,0,goal(1)和goal(2)输入两个较大的值(例如100000),表明这两项约束不起作用。运行状态窗口如图,相应信息含义见实验一表。图LINGO的实时参数窗口图:LINGO运行状态窗口计算结果如下:Globaloptimalsolutionfound.Objectivevalue:Totalsolveriterations: 1ValueReducedCostVariableValueReducedCostP(1)P(3)Z(1)Z(2)Z(3)GOAL(1)GOAL(2) 1000000.GOAL(3)X(1)X(2)B(1)G(1)G(2)G(3)G(4)DPLUS(1)DPLUS(2)DPLUS(3)DPLUS(4)DMINUS(1)DMINUS(2)DMINUS(3)DMINUS(4)A(1,1)A(1,2)C(1,1)C(3,1)C(3,2)C(4,1)C(4,2)WPLUS(1,1)WPLUS(1,2)WPLUS(1,3)WPLUS(1,4)WPLUS(2,1)WPLUS(2,2)WPLUS(2,3)WPLUS(2,4)WPLUS(3,1)WPLUS(3,2)WPLUS(3,3)WPLUS(3,4)WMINUS(1,1)WMINUS(1,2)WMINUS(1,3)WMINUS(1,4)WMINUS(2,1)WMINUS(2,2)WMINUS(2,3)WMINUS(2,4)WMINUS(3,1)WMINUS(3,2)WMINUS(3,4)RowSlackorSurplusDualPrice123456789第一级的最优偏差为0,进行第二级计算。在第二级目标计算时,p(1),p(2),p(3)分别输入0,1,0。由于第一级的偏差为0,因此goal(1)的输入值为0,goal(2)输入一个较大的值(例如100000)。计算结果如下:Globaloptimalsolutionfound.Objectivevalue:Totalsolveriterations: 2Variable Value ReducedCostP(1)P(2)P(3)Z(1)Z(2)GOAL(1)GOAL(2)GOAL(3)X(1)X(2)B(1)G(1)G(2)G(3)G(4)DPLUS(1)DPLUS(2)DPLUS(3)DPLUS(4)DMINUS(1)DMINUS(2)DMINUS(3)DMINUS(4)A(1,1)A(1,2)C(1,1)C(1,2)C(2,1)C(2,2)C(4,2)WPLUS(1,1)WPLUS(1,2)WPLUS(1,3)WPLUS(1,4)WPLUS(2,1)WPLUS(2,2)WPLUS(2,3)WPLUS(2,4)WPLUS(3,1)WPLUS(3,2)WPLUS(3,3)WPLUS(3,4)WMINUS(1,1)WMINUS(1,2)WMINUS(1,3)WMINUS(1,4)WMINUS(2,1)WMINUS(2,2)WMINUS(2,3)WMINUS(2,4)WMINUS(3,1)WMINUS(3,2)WMINUS(3,3)RowSlackorSurplusDualPrice123456789第二级的最优偏差为0,进行第三级计算。在第三级目标计算时,p(1),p(2),p(3)分别输入0,0,1。由于第一级、第二级的偏差均为0,因此goal(1)、goal⑵的输入值也均是。。计算结果如下:GGlobaloptimalsolutionfound.Objectivevalue:Totalsolveriterations: 0Variable ValueReducedCostP(1)P(2)P(3)Z(1)Z(2)Z(3)GOAL(1)X(1)X(2)B(1)G(1)G(2)G(3)G(4)DPLUS(1)DPLUS(2)DPLUS(3)DPLUS(4)DMINUS(1)DMINUS(2)DMINUS(3)DMINUS(4)A(1,1)A(1,2)C(1,1)C(1,2)C(2,1)C(2,2)C(3,1)C(3,2)C(4,1)C(4,2)WPLUS(1,3)WPLUS(1,4)WPLUS(2,1)WPLUS(2,2)WPLUS(2,3)WPLUS(2,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论