lingo求解多目标规划__例题7010.pdf
《lingo求解多目标规划__例题7010.pdf》由会员分享,可在线阅读,更多相关《lingo求解多目标规划__例题7010.pdf(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 实验二:目标规划 一、实验目的 目标规划是由线性规划发展演变而来的,线性规划考虑的是只有一个目标函数的问题,而实际问题中往往需要考虑多个目标函数,这些目标不仅有主次关系,而且有的还相互矛盾。这些问题用线性规划求解就比较困难,因而提出了目标规划。熟悉目标规划模型的建立,求解过程及结果分析。二、目标规划的一般模型 设).2,1(njxj是目标规划的决策变量,共有m个约束是国刚性约束,可能是等式约束,也可能是不等式约束。设有l个柔性目标约束,其目标规划约束的偏差是),.,2,1(,liddii。设有q个优先级别,分别为qppp,.,21。在同一个优先级kp中,有不同的权重,分别记为),.,2,1(
2、,ljwwkjkj。因此目标规划模型的一般数学表达式为:min ljjkjjkjqkkdwdwpz11);(.,.2,1,),(1mibxanjijij .,.2,1,0,.,2,1,.2,1,1liddnxoxligddxciijinjiijij 三、实验设备及分组 实验在计算机中心机房进行,使用微型电子计算机,每人一机(一组)。四、实验容及步骤 1、打开 LINGO,并利用系统菜单和向导在 E 盘创建一个项目。目录和项目名推荐使用学生自己的学号。2、以此题为例,建立数学模型,并用说明语句进行说明,增强程序的可读性。例:某工厂生产、两种产品,需要用到 A,B,C 三种设备,已知有关数据见下表
3、。企业的经营目标不仅仅是利润,还需要考虑多个方面:(1)力求使利润不低于 1500 元;(2)考虑到市场需求,、两种产品的产量比应尽量保持 1:2;(3)设备 A 为贵重设备,严格禁止超时使用;(4)设备 C 可以适当加班,但要控制;设备 B 即要求充分利用,又尽可能不加班。在重要性上,设备 C 是设备 B 的 3 倍。设备的生产能力/h A(h/件)2 2 12 B(h/件)4 0 16 C(h/件)0 5 15 利润 元/件 200 300 解:此题中只有设备 A 是刚性约束,其余都是柔性约束。首先,最重要的指标是企业的利润,将它的优先级列为第一级;其次是、两种产品的产量保持 1:2 的比
4、例,列为第二级;再次,设备 B、C 的工作时间要有所控制,列为第三级。在第三级中,设备 B 的重要性是设备 C 的 3 倍,因此它们的权重不一样,设备 B 的系数是设备 C 的 3 倍。该计划问题可用数学模型表示为:目标函数 min )33()(433322211dddpddpdpz 满足约束条件 2122xx 12 15003002001121ddxx 022221ddxx 14x 1633dd 155442ddx 3,2,1,0,21iddxxii LINGO 程序为:model:sets:!集合定义部分(从“sets:”开始,到“endsets”结束):定义集合变量及其元素(含义类似数组
5、的下标)和属性(含义类似于数组)。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;!在目标规划中,
6、约束有两类。一类是对资源有严格限制的,同线性规划的处理相同,用严格的等式或者不等式约束来处理,称此约束为刚性约束(hard constraint)。b表示的是刚性约束的资源向量。s_con_num/1.4/:g,dplus,dminus;!另一类约束是可以不严格限制的,连同原线性规划的目标,构成柔性约束(soft constraint)。g表示的是柔性约束的资源向量,dplus,dminus是偏差变量。在目标规划中,用偏差变量(deviational variables)来表示实际值与目标值之间的差异,dplus为超出目标的差值,称为正偏差变量,dminus为未达到目标的差值,称为负偏差变量。
7、h_cons(h_con_num,variable):A;!刚性约束的价值向量。s_cons(s_con_num,variable):c;!柔性约束的价值向量。obj(level,s_con_num):wplus,wminus;!柔性约束在不同优先级下的权重。endsets data:!数据输入部分(从“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 0 0 1 0 0 0 0 3 1;wminus=1 0 0 0 0 1 0 0 0 0 3 0;enddata min=sum(level:p*z);!目标函数(“min=”后面所接的表达式)是用求和函数“sum(集合下标:关于集合属性的表达式)”的方式定义的。这个函数的功能是对语句中冒号“:”后面的表达式,按照“:”前面的集合指定的下标(元素)进行求和。这里“sum”相当于求和符号“”。for(le
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- lingo 求解 多目标 规划 _ 例题 7010
限制150内