lingo求解多目标规划__例题

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

实验二:目标规划

一、实验目的

目标规划是由线性规划发展演变而来的,线性规划考虑的是只有一个目标函数的问题,而实际问题中往往需要考虑多个目标函数,这些目标不仅有主次关系,而且有的还相互矛盾。这些问题用线性规划求解就比较困难,因而提出了目标规划。熟悉目标规划模型的建立,求解过程及结果分析。

二、目标规划的一般模型

设)...2,1(n j x j =是目标规划的决策变量,共有m 个约束是国刚性约束,可能是等式约束,也可能是不等式约束。设有l 个柔性目标约束,其目标规划约束的偏差是

),...,2,1(,l i d d i i =-+。设有q 个优先级别,分别为q p p p ,...,21。在同一个优先级k p 中,有

不同的权重,分别记为),...,2,1(,l j w w kj kj =-

+

。因此目标规划模型的一般数学表达式为:

min ∑∑=+

+--

=+=

l

j j kj j kj q k k

d w d w

p z 1

1

);(

s.t.

,,...2,1,),(1m i b x a

n

j i j ij

=≥=≤∑= .

,...2,1,0,,

,...,2,1,,

,...2,1,1

l i d d n x o x l i g d d x c

i i j i n

j i i j ij

=≥=≥==-++-=+-∑

三、实验设备及分组

实验在计算机中心机房进行,使用微型电子计算机,每人一机(一组)。

四、实验容及步骤

1、打开LINGO ,并利用系统菜单和向导在E 盘创建一个项目。目录和项目名推荐使用学生自己的学号。

2、以此题为例,建立数学模型,并用说明语句进行说明,增强程序的可读性。 例2.1:

某工厂生产Ⅰ、Ⅱ两种产品,需要用到A ,B ,C 三种设备,已知有关数据见下表。企业的经营目标不仅仅是利润,还需要考虑多个方面:

(1) 力求使利润不低于1500元;

(2) 考虑到市场需求,Ⅰ、Ⅱ两种产品的产量比应尽量保持1:2; (3) 设备A 为贵重设备,严格禁止超时使用;

(4) 设备C 可以适当加班,但要控制;设备B 即要求充分利用,又尽可能不加班。

在重要性上,设备C 是设备B 的3倍。

此题中只有设备A 是刚性约束,其余都是柔性约束。首先,最重要的指标是企业的利润,将它的优先级列为第一级;其次是Ⅰ、Ⅱ两种产品的产量保持1:2的比例,列为第二级;再次,设备B 、C 的工作时间要有所控制,列为第三级。在第三级中,设备B 的重要性是设备C 的3倍,因此它们的权重不一样,设备B 的系数是设备C 的3倍。

该计划问题可用数学模型表示为:

目标函数 min )33()(433322211+

+-+--+++++=d d d p d d p d p z

满足约束条件 2122x x + 12≤

15003002001121=-+++-d d x x

022221=-+-+

-

d d x x

14x 1633=-++

-d d

155442=-++

-d d x

3,2,1,0,,,21=≥+

-i d d x x i i

LINGO 程序为:

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;

!在目标规划中,约束有两类。一类是对资源有严格限制的,同线性规划的处理相同,用严格的等式或者不等式约束来处理,称此约束为刚性约束(hard constraint )。b 表示的是刚性约束的资源向量。

s_con_num/1..4/:g,dplus,dminus;

!另一类约束是可以不严格限制的,连同原线性规划的目标,构成柔性约束(soft constraint )。g 表示的是柔性约束的资源向量,dplus,dminus 是偏差变量。在目标规划中,用偏差变量(deviational variables )来表示实际值与目标值之间的差异,dplus 为超出目标的差值,称为正偏差变量,dminus 为未达到目标的差值,称为负偏差变量。 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=? ? ?;

!常数列表中的数据之间可以用“,”或者“空格”或者“回车”分开。如果想在运行时才对参数赋值,可以在数据段使用输入语句,但这仅用于对单个变量赋值,而不能用于属性变量(数值)。输入语句格式为“变量名=?;”。 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(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)。#lt#是逻辑运算符号,意思是“小于”;size(level)表示集合level元素的个数。

End

3、下面开始用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.000000

Total solver iterations: 1

Variable Value Reduced Cost

P( 1) 1.000000 0.000000

P( 2) 0.000000 0.000000

P( 3) 0.000000 0.000000

Z( 1) 0.000000 0.000000

Z( 2) 5.000000 0.000000

Z( 3) 58.00000 0.000000

GOAL( 1) 100000.0 0.000000

GOAL( 2) 1000000. 0.000000

GOAL( 3) 0.000000 0.000000

X( 1) 0.000000 0.000000

X( 2) 5.000000 0.000000

B( 1) 12.00000 0.000000

G( 1) 1500.000 0.000000

G( 2) 0.000000 0.000000

G( 3) 16.00000 0.000000

G( 4) 15.00000 0.000000

DPLUS( 1) 0.000000 0.000000

DPLUS( 2) 0.000000 0.000000 DPLUS( 3) 0.000000 0.000000 DPLUS( 4) 10.00000 0.000000 DMINUS( 1) 0.000000 1.000000 DMINUS( 2) 5.000000 0.000000 DMINUS( 3) 16.00000 0.000000 DMINUS( 4) 0.000000 0.000000 A( 1, 1) 2.000000 0.000000

A( 1, 2) 2.000000 0.000000

C( 1, 1) 200.0000 0.000000

C( 1, 2) 300.0000 0.000000

C( 2, 1) 2.000000 0.000000

C( 2, 2) -1.000000 0.000000

C( 3, 1) 4.000000 0.000000

C( 3, 2) 0.000000 0.000000

C( 4, 1) 0.000000 0.000000

C( 4, 2) 5.000000 0.000000 WPLUS( 1, 1) 0.000000 0.000000 WPLUS( 1, 2) 0.000000 0.000000 WPLUS( 1, 3) 0.000000 0.000000 WPLUS( 1, 4) 0.000000 0.000000 WPLUS( 2, 1) 0.000000 0.000000 WPLUS( 2, 2) 1.000000 0.000000 WPLUS( 2, 3) 0.000000 0.000000 WPLUS( 2, 4) 0.000000 0.000000 WPLUS( 3, 1) 0.000000 0.000000 WPLUS( 3, 2) 0.000000 0.000000 WPLUS( 3, 3) 3.000000 0.000000 WPLUS( 3, 4) 1.000000 0.000000 WMINUS( 1, 1) 1.000000 0.000000 WMINUS( 1, 2) 0.000000 0.000000 WMINUS( 1, 3) 0.000000 0.000000 WMINUS( 1, 4) 0.000000 0.000000 WMINUS( 2, 1) 0.000000 0.000000 WMINUS( 2, 2) 1.000000 0.000000 WMINUS( 2, 3) 0.000000 0.000000 WMINUS( 2, 4) 0.000000 0.000000 WMINUS( 3, 1) 0.000000 0.000000 WMINUS( 3, 2) 0.000000 0.000000 WMINUS( 3, 3) 3.000000 0.000000 WMINUS( 3, 4) 0.000000 0.000000

Row Slack or Surplus Dual Price

1 0.000000 -1.000000

目标规划典型例题

§ 主要解题方法和典型例题分析 题型I 目标规划数学模型的建立 当线性规划问题有多个目标需要满足时,就可以通过建立目标规划数学模型来描述。目标规划数学模型的建立步骤为:第一步,确定决策变量;第二步,确定各目标的优先因子;第三步,写出硬约束和软约束;第四步,确定目标函数。 例6-1 某公司生产甲、乙两种产品,分别经由I 、II 两个车间生产。已知除外购外,生产一件甲产品需要I 车间加工4小时,II 车间装配2小时,生产一件乙产品需I 车间加工1小时,II 车间装配3小时,这两种产品生产出来以后均需经过检验、销售等环节。已知每件甲产品的检验销售费用需40元,每件乙产品的检验销售费用需50元。I 车间每月可利用的工时为150小时,每小时的费用为80元;II 车间每月可利用的工时为200小时,每小时的费用为20元,估计下一年度平均每月可销售甲产品100台,乙产品80台。公司根据这些实际情况定出月度计划的目标如下: P 1:检验和销售费用每月不超过6000元; P 2:每月售出甲产品不少于100件; P 3:I 、II 两车间的生产工时应该得到充分利用; P 4:I 车间加班时间不超过30小时; P 5:每月乙产品的销售不少于80件。 试确定该公司为完成上述目标应制定的月度生产计划,建立其目标规划模型。 解:先建立目标规划的数学模型。设x 1为每月计划生产的甲产品件数,x 2为每月生产的乙产品的件数。根据题目中给出的优先等级条件,有以下目标及约束: (1) 检验及销售费用目标及约束11211 min() 40506000d x x d d +-+ ??++-=?; (2) 每月甲产品的销售目标及约束2122min() 100 d x d d --+ ??+-=?; (3) I 、II 两车间工时利用情况目标及约束 I 车间312 33min()4150d x x d d --+??++-=?,II 车间41244min()3200d x x d d - -+ ??++-=? (4) I 车间加班时间目标及约束5355min() 30d d d d ++-+ ??+-=? (5) 每月乙产品销售目标及约束62 66min() 80d x d d --+ ??+-=?

多目标优化实例和matlab程序教学教材

多目标优化实例和m a t l a b程序

精品文档 收集于网络,如有侵权请联系管理员删除 NSGA-II 算法实例 目前的多目标优化算法有很多, Kalyanmoy Deb 的带精英策略的快速非支配排序遗传算法(NSGA-II) 无疑是其中应用最为广泛也是最为成功的一种。本文用的算法是MATLAB 自带的函数gamultiobj ,该函数是基于NSGA-II 改进的一种多目标优化算法。 一、 数值例子 多目标优化问题 424221********* 4224212212112 12min (,)10min (,)55..55 f x x x x x x x x x f x x x x x x x x x s t x =-++-=-++-≤≤??-≤≤? 二、 Matlab 文件 1. 适应值函数m 文件: function y=f(x) y(1)=x(1)^4-10*x(1)^2+x(1)*x(2)+x(2)^4-x(1)^2*x(2)^2; y(2)=x(2)^4-x(1)^2*x(2)^2+x(1)^4+x(1)*x(2); 2. 调用gamultiobj 函数,及参数设置: clear clc fitnessfcn=@f; %适应度函数句柄 nvars=2; %变量个数 lb=[-5,-5]; %下限 ub=[5,5]; %上限 A=[];b=[]; %线性不等式约束 Aeq=[];beq=[]; %线性等式约束 options=gaoptimset('paretoFraction',0.3,'populationsize',100,'generations' ,200,'stallGenLimit',200,'TolFun',1e-100,'PlotFcns',@gaplotpareto); % 最优个体系数paretoFraction 为0.3;种群大小populationsize 为 100,最大进化代数generations 为200, % 停止代数stallGenLimit 为200, 适应度函数偏差TolFun 设为1e- 100,函数gaplotpareto :绘制Pareto 前端 [x,fval]=gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,options)

运筹学实例分析及lingo求解

运筹学实例分析及lingo 求解 一、线性规划 某公司有6个仓库,库存货物总数分别为60、55、51、43、41、52,现有8个客户各要一批货,数量分别为35,37,22,32,41,32,43,38。各供货仓库到8个客户处的单位货物运输价见表 试确定各仓库到各客户处的货物调运数量,使总的运输费用最小。 解:设 ij x 表示从第i 个仓库到第j 个客户的货物运量。ij c 表示从第i 个仓库到第 j 个客户的单位货物运价,i a 表示第i 个仓库的最大供货量,j d 表示第j 个客户的订货量。 目标函数是使总运输费用最少,约束条件有三个:1、各仓库运出的货物总量不超过其库存数2、各客户收到的货物总量等于其订货数量3、非负约束 数学模型为: ∑∑===6 18 1)(min i j ij ij x c x f ????? ??????≥===≤∑∑==08,,2,1,6,2,1,,. .6 1 8 1ij j i ij i j ij x j d x i a x t s 编程如下: model : Sets : Wh/w1..w6/:ai;

Vd/v1..v8/:dj; links(wh,vd):c,x; endsets Data: ai=60,55,51,43,41,52; dj=35,37,22,32,41,32,43,38; c=6,2,6,7,4,2,5,9 4,9,5,3,8,5,8,2 5,2,1,9,7,4,3,3 7,6,7,3,9,2,7,1 2,3,9,5,7,2,6,5 5,5,2,2,8,1,4,3; Enddata Min=@sum(links(i,j):c(i,j)*x(i,j)); @for(wh(i):@sum(vd(j):x(i,j))<=ai(i)); @for(vd(j):@sum(wh(i):x(i,j))=dj(j)); end Global optimal solution found. Objective value: Total solver iterations: 0 Variable Value Reduced Cost AI( W1) AI( W2) AI( W3) AI( W4) AI( W5) AI( W6) DJ( V1) DJ( V2) DJ( V3) DJ( V4) DJ( V5) DJ( V6) DJ( V7) DJ( V8) C( W1, V1) C( W1, V2) C( W1, V3) C( W1, V4) C( W1, V5) C( W1, V6)

第八章 运筹学 目标规划 案例

第八章目标规划 8.1请将下列目标规划问题数学模型的一般形式转换为各优先级的数学模型。1、 min P1(d l-)+P2(d2-)+P2(d2+)+P3(d3-)+P3(d3+)+P4(d4-) 约束条件: 4 x l ≤680 4x2 ≤600 2 x l+3x2-d1+ +d1-=12 x l-x2-d2++d2-=0 2 x l+2x2-d3++d3-=12 x l+2x2-d4++d4-=8 x l,x2,d1+,d1-,d2+,d2-,d3+,d3-,d4+,d4-≥0。 解: 这是一个四级目标规划问题: 第一级: min d l- S.T. 4 x l ≤680 4x2 ≤600 2 x l+3x2-d1+ +d1-=12 x l,x2,d1+,d1-≥0 第二级: min d2-+d2+ S.T. 4 x l ≤680 4x2 ≤600 2 x l+3x2-d1+ +d1-=12 x l-x2-d2++d2-=0 d1-=第一级的最优结果 x l,x2,d1+,d1-,d2+,d2-≥0 第三级: min d3-+d3+ S.T. 4 x l ≤680 4x2 ≤600 2 x l+3x2-d1+ +d1-=12 x l-x2-d2++d2-=0 2 x l+2x2-d3++d3-=12 d1-=第一级的最优结果 d2+,d2-=第二级的最优结果 x l,x2,d1+,d1-,d2+,d2-,d3+,d3-≥0 第四级:

min d4- S.T. 4 x l ≤680 4x2 ≤600 2 x l+3x2-d1+ +d1-=12 x l-x2-d2++d2-=0 2 x l+2x2-d3++d3-=12 x l+2x2-d4++d4-=8 d1-=第一级的最优结果 d2+,d2-=第二级的最优结果 d3+,d3-=第三级的最优结果 x l,x2,d1+,d1-,d2+,d2-,d3+,d3-,d4+,d4-≥0 2、 min P1(d l-)+P2(d2-)+P2(d2+)+P3(d3-) 约束条件: 12 x l+9x2+15x3-d1+ +d1-=125 5x l+3x2+4x3-d2+ +d2-=40 5 x l+7x2+8x3-d3+ +d3-=55 x l,x2,x3,d1+,d1-,d2+,d2-,d3+,d3-≥0。 解: 这是一个三级目标规划问题: 第一级: min d l- S.T. 12 x l+9x2+15x3-d1+ +d1-=125 x l,x2,x3,d1+,d1-≥0 第二级: min d2-+d2+ S.T. 12 x l+9x2+15x3-d1+ +d1-=125 5x l+3x2+4x3-d2+ +d2-=40 d l-=第一级的最优结果 x l,x2,x3,d1+,d1-,d2+,d2-≥0 第三级: min d3- S.T. 12 x l+9x2+15x3-d1+ +d1-=125 5x l+3x2+4x3-d2+ +d2-=40 5 x l+7x2+8x3-d3+ +d3-=55 d l-=第一级的最优结果 d2+ ,d2-=第二级的最优结果 x l,x2,x3,d1+,d1-,d2+,d2-,d3+,d3-≥0 8.2某企业生产A、B、C、三种不同规格的电子产品,三种产品的装配工作在同一生产

目标规划例题

目标规划 某企业生产甲、乙两种产品,需要用到A,B,C 三种设备,关于产品的赢利 与使用设备的工时及限制如表 2 所示。问该企业应如何安排生产,才能达到下列目标: 表 2 甲 乙 设备的生产能力(h ) A (h/件) 2 2 12 B (h/件) 4 0 16 C (h/件) 0 5 15 赢利(元/件) 200 300 (1)力求使利润指标不低于 1500 元; (2)考虑到市场需求,甲、乙两种产品的产量比应尽量保持 1:2; (3)设备 A 为贵重设备,严格禁止超时使用; (4)设备C 可以适当加班,但要控制;设备B 既要求充分利用,又尽可能不加班。 在重要性上,设备B 是设备C 的 3 倍。 建立相应的目标规划模型并求解。 解 设备 A 是刚性约束,其余是柔性约束。首先,最重要的指标是企业的利润, 因此,将它的优先级列为第一级;其次,甲、乙两种产品的产量保持 1:2 的比例,列为 第二级;再次,设备B,C 的工作时间要有所控制,列为第三级。在第三级中,设备B 的 重要性是设备C 的三倍,因此,它们的权重不一样,设备B 前的系数是设备C 前系数 的 3 倍。设生产甲乙两种产品的件数分别为x1, x2, ,相应的目标规划模型为 min z = P1d1- + P2 ( d2+ + d2- ) + P3 ( 3d3+ + 3d3- + d4+ ) 121211122213324412221220030015002040515,,,0(1,2,3,4...)i i x x x x d d x x d d x d d x d d x x d d i -+-+-+-+-++≤??++-=??-+-=??+-=??+-=?≥=?? LINGO 程序编码 model: sets: level/1..3/:p,z,goal; variable/1..2/:x; h_con_num/1..1/:b; s_con_num/1..4/:g,dplus,dminus; h_con(h_con_num,variable):a; s_con(s_con_num,variable):c; obj(level,s_con_num)/1 1,2 2,3 3,3 4/:wplus,wminus; endsets data:

多目标优化实例和matlab程序

NSGA-II 算法实例 目前的多目标优化算法有很多, Kalyanmoy Deb 的带精英策略的快速非支配排序遗传算法(NSGA-II) 无疑是其中应用最为广泛也是最为成功的一种。本文用的算法是MATLAB 自带的函数gamultiobj ,该函数是基于NSGA-II 改进的一种多目标优化算法。 一、 数值例子 多目标优化问题 424221********* 4224212212112 12min (,)10min (,)55..55 f x x x x x x x x x f x x x x x x x x x s t x =-++-=-++-≤≤??-≤≤? 二、 Matlab 文件 1. 适应值函数m 文件: function y=f(x) y(1)=x(1)^4-10*x(1)^2+x(1)*x(2)+x(2)^4-x(1)^2*x(2)^2; y(2)=x(2)^4-x(1)^2*x(2)^2+x(1)^4+x(1)*x(2); 2. 调用gamultiobj 函数,及参数设置: clear clc fitnessfcn=@f; %适应度函数句柄 nvars=2; %变量个数 lb=[-5,-5]; %下限 ub=[5,5]; %上限 A=[];b=[]; %线性不等式约束 Aeq=[];beq=[]; %线性等式约束 options=gaoptimset('paretoFraction',0.3,'populationsize',100,'generations', 200,'stallGenLimit',200,'TolFun',1e-100,'PlotFcns',@gaplotpareto); % 最优个体系数paretoFraction 为0.3;种群大小populationsize 为100,最大进化代数generations 为200, % 停止代数stallGenLimit 为200, 适应度函数偏差TolFun 设为1e-100,函数gaplotpareto :绘制Pareto 前端 [x,fval]=gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,options)

Lingo超经典案例大全

Lingo超经典案例大全 LINGO是Linear Interactive and General Optimizer的缩写,即“交互式的线性和通用优化求解器”。Lingo超强的优化计算能力在很多方面(线性规划、非线性规划、线性整数规划、非线性整数规划、非线性混合规划、二次规划等)比matlab、maple等强得多,Lingo编程简洁明了,数学模型不用做大的改动(或者不用改动)便可以直接采用Lingo语言编程,十分直观。 Lingo模型由4个段构成: (1)集合段(sets endsets);(2)数据段(data enddata); (3)初始段(init endinit);(4)目标与约束段。 Lingo的五大优点: 1. 对大规模数学规划,LINGO语言所建模型较简洁,语句不多; 2. 模型易于扩展,因为@FOR、@SUM等语句并没有指定循环或求和的上下限,如果在集合定义部分增加集合成员的个数,则循环或求和自然扩展,不需要改动目标函数和约束条件; 3. 数据初始化部分与其它部分语句分开,对同一模型用不同数据来计算时,只需改动数据部分即可,其它语句不变; 4. “集合”是LINGO有特色的概念,它把实际问题中的事物与数学变量及常量联系起来,是实际问题到数学量的抽象,它比C语言中的数组用途更为广泛。 5. 使用了集合以及@FOR、@SUM等集合操作函数以后可以用简洁的语句表达出常见的规划模型中的目标函数和约束条件,即使模型有大量决策变量和大量数据,组成模型的语句并不随之增加. 一、求解线性整数规划、非线性整数规划问题: 1.线性整数规划: model: max=x1+x2; x1+9/14*x2<=51/14; -2*x1+x2<=1/3; @gin(x1);@gin(x2); end

lingo求解多目标规划__例题

实验二:目标规划 一、实验目的 目标规划是由线性规划发展演变而来的,线性规划考虑的是只有一个目标函数的问题,而实际问题中往往需要考虑多个目标函数,这些目标不仅有主次关系,而且有的还相互矛盾。这些问题用线性规划求解就比较困难,因而提出了目标规划。熟悉目标规划模型的建立,求解过程及结果分析。 二、目标规划的一般模型 设)...2,1(n j x j =是目标规划的决策变量,共有m 个约束是国刚性约束,可能是等式约束,也可能是不等式约束。设有l 个柔性目标约束,其目标规划约束的偏差是 ),...,2,1(,l i d d i i =-+。设有q 个优先级别,分别为q p p p ,...,21。在同一个优先级k p 中,有 不同的权重,分别记为),...,2,1(,l j w w kj kj =- + 。因此目标规划模型的一般数学表达式为: min ∑∑=+ +-- =+= l j j kj j kj q k k d w d w p z 1 1 );( s.t. ,,...2,1,),(1m i b x a n j i j ij =≥=≤∑= . ,...2,1,0,, ,...,2,1,, ,...2,1,1 l i d d n x o x l i g d d x c i i j i n j i i j ij =≥=≥==-++-=+-∑ 三、实验设备及分组 实验在计算机中心机房进行,使用微型电子计算机,每人一机(一组)。

四、实验容及步骤 1、打开LINGO ,并利用系统菜单和向导在E 盘创建一个项目。目录和项目名推荐使用学生自己的学号。 2、以此题为例,建立数学模型,并用说明语句进行说明,增强程序的可读性。 例2.1: 某工厂生产Ⅰ、Ⅱ两种产品,需要用到A ,B ,C 三种设备,已知有关数据见下表。企业的经营目标不仅仅是利润,还需要考虑多个方面: (1) 力求使利润不低于1500元; (2) 考虑到市场需求,Ⅰ、Ⅱ两种产品的产量比应尽量保持1:2; (3) 设备A 为贵重设备,严格禁止超时使用; (4) 设备C 可以适当加班,但要控制;设备B 即要求充分利用,又尽可能不加班。 在重要性上,设备C 是设备B 的3倍。 此题中只有设备A 是刚性约束,其余都是柔性约束。首先,最重要的指标是企业的利润,将它的优先级列为第一级;其次是Ⅰ、Ⅱ两种产品的产量保持1:2的比例,列为第二级;再次,设备B 、C 的工作时间要有所控制,列为第三级。在第三级中,设备B 的重要性是设备C 的3倍,因此它们的权重不一样,设备B 的系数是设备C 的3倍。 该计划问题可用数学模型表示为: 目标函数 min )33()(433322211+ +-+--+++++=d d d p d d p d p z 满足约束条件 2122x x + 12≤ 15003002001121=-+++-d d x x 022221=-+-+ - d d x x 14x 1633=-++ -d d

lingo求解多目标规划__例题

实验二:目标规划 一、实验目的 目标规划是由线性规划发展演变而来的,线性规划考虑的是只有一个目标函数的问题,而实际问题中往往需要考虑多个目标函数,这些目标不仅有主次关系,而且有的还相互矛盾。这些问题用线性规划求解就比较困难,因而提出了目标规划。熟悉目标规划模型的建立,求解过程及结果分析。 二、目标规划的一般模型 设)...2,1(n j x j =是目标规划的决策变量,共有m 个约束是国刚性约束,可能是等式约束,也可能是不等式约束。设有l 个柔性目标约束,其目标规划约束的偏差是 ),...,2,1(,l i d d i i =-+。设有q 个优先级别,分别为q p p p ,...,21。在同一个优先级k p 中,有 不同的权重,分别记为),...,2,1(,l j w w kj kj =- +。因此目标规划模型的一般数学表达式为: min ∑∑=+ +--=+= l j j kj j kj q k k d w d w p z 1 1 );( s.t. ,,...2,1,),(1m i b x a n j i j ij =≥=≤∑= . ,...2,1,0,, ,...,2,1,, ,...2,1,1 l i d d n x o x l i g d d x c i i j i n j i i j ij =≥=≥==-++-=+-∑ 三、实验设备及分组 实验在计算机中心机房进行,使用微型电子计算机,每人一机(一组)。

四、实验容及步骤 1、打开LINGO ,并利用系统菜单和向导在E 盘创建一个项目。目录和项目名推荐使用学生自己的学号。 2、以此题为例,建立数学模型,并用说明语句进行说明,增强程序的可读性。 例2.1: 某工厂生产Ⅰ、Ⅱ两种产品,需要用到A ,B ,C 三种设备,已知有关数据见下表。企业的经营目标不仅仅是利润,还需要考虑多个方面: (1) 力求使利润不低于1500元; (2) 考虑到市场需求,Ⅰ、Ⅱ两种产品的产量比应尽量保持1:2; (3) 设备A 为贵重设备,严格禁止超时使用; (4) 设备C 可以适当加班,但要控制;设备B 即要求充分利用,又尽可能不加班。在重要性上,设备C 是设备B 的3倍。 此题中只有设备A 是刚性约束,其余都是柔性约束。首先,最重要的指标是企业的利润,将它的优先级列为第一级;其次是Ⅰ、Ⅱ两种产品的产量保持1:2的比例,列为第二级;再次,设备B 、C 的工作时间要有所控制,列为第三级。在第三级中,设备B 的重要性是设备C 的3倍,因此它们的权重不一样,设备B 的系数是设备C 的3倍。 该计划问题可用数学模型表示为: 目标函数 min )33()(433322211+ +-+--+++++=d d d p d d p d p z 满足约束条件 2122x x + 12≤ 15003002001121=-+++-d d x x 022221=-+-+ -d d x x 14x 1633=-++ -d d 155442=-++ -d d x 3,2,1,0,,,21=≥+ -i d d x x i i

目标规划习题

一、某企业生产A、B、C三种产品,装配工作在同一生产线上完成,三种产品装配时的工作消耗分别为6小时、8小时和10小时,生产线每月正常工作时间为200小时,三种产品销售后每件可分别获利500元、650元和800元,每月预计销量为12台、10台和6台,有关经营目标如下: P1:利润指标不少于每月16000元; P2:充分利用生产能力; P3:加班时间不超过24小时; P4:产量以预计销量为标准。 为确定生产计划,试建立该问题的相关模型。 二、某工厂生产两种产品录音机和电视机,在甲、乙两车间的单件工时及其它相关资料如下表所示: 度目标为: P1:检验和销售费每月不超过4600元; P2:每月售出录音机不少于50台; P3:甲、乙车间的生产工时得到充分利用(重要性权系数按两个车间每小时费用的比例确定); P4:甲车间加班不超过20小时。 问:试确定该厂为达到以上目标的月度计划生产数。(要求建立相关的运筹学模型,不需求解) 三、某厂拟生产甲、乙两种产品,每件利润分别为20元、30元。这两种产品都要在A、B、C、D四种设备上加工,每件甲产品需占用各设备依次为2、1、4、0小时,每件乙产品需占用各设备依次为2、2、0、4小时,而这四种设备正常生产能力依次为12、8、16、12小时。此外,A、B两种设备每天还可加班运行。 试拟订一个满足下列目标的生产计划: P1:两种产品每天总利润指标不低于120元; P2:两种产品的产量尽可能均衡;

P3:A 、B 设备都应不超负荷,其中A 设备能力还应充分利用(A 的重要程度是B 的3倍) (要求只建立模型,不需求解) 四、企业计划生产甲、乙两种产品,这些产品需要使用两种材料,要在两种不同设备上加工。每加工单件产品甲和乙的工艺资料如表所示,在生产甲、乙两种产品时,材料不能超用。 企业怎样安排生产计划,尽可能满足下列目标: P1:力求使利润指标不低于80元; P2:考虑到市场需求,甲、乙两种产品的生产量需保持1: 1比例; P3:设备A 既要求充分利用,又尽可能不加班; P4:设备B 必要时可以加班,但加班时间尽可能少。 (要求只建立模型,不需求解) 一、解:设每月生产A 、B 、C 产品分别为x1、x2、x3台,总偏差为Z 。 )(min 6655444332211+-+-+-+--++++++++=d d d d d d P d P d P d P Z ?????? ???????=≥=-+=-+=-+=-+++=-+++=-++++-+-+-+-+-+-+-6,5,4,3,2,1;0,,,,610122241086200108616000800650500321663552441333212232111321i d d x x x d d x d d x d d x d d x x x d d x x x d d x x x i i 二、解:设每月生产录音机X 1台,电视机X 2台,总偏差为Z

多目标规划问题知识讲解

多目标规划问题

3.5 黑龙江省可持续农业产业结构优化模型的求解 鉴于上面的遗传算法的基本实现技术和理论分析,对标准遗传算法进行适当改进,将其用于求解黑龙江省可持续农业产业结构优化模型中。黑龙江省农业产业结构优化模型具有大系统、多目标、非线性等特点,传统的求解方法受到了模型复杂程度的限制,由引言可知,遗传算法对解决此类问题具有明显的优势。下面介绍具体采用的遗传多目标算法操作设计以及模型求解过程。 3.5.1遗传多目标算法操作设计 3.5.1.1 实数编码方法 在求解复杂优化问题时,二进制向量表示结构有时不太方便,并且浮点数编码的遗传算法对变异操作的种群稳定性比二进制编码好(徐前锋,2000)。以浮点数编码的遗传算法也叫实数遗传算法(Real number Genetic Algorithms ,简称RGA )。每一个染色体由一个浮点数向量表示,其长度与解向量相同。假如用向量),(21n x x x X 表示最优化问题的解,则相应的染色体就是 ),(21n x x x V ,其中n 是变量个数。 3.5.1.2 种群初始化方法 遗传算法中初始群体的个体是随机产生的,由于本文优化模型所涉及的变量容易给出一个相对较大的问题空间的变量分布范围,并且若给出一定的搜索空间也会加快遗传算法的收敛速度;因此本文采取3.3.2中的第一种策略,对每一个变量设置可能区间,然后在可能区间内随机产生初始种群。为保证不会遗漏最优解,选择区间跨度范围很大。 3.5.1.3 适应度函数设计

用遗传算法求解多目标优化问题中出现的一个特殊情况就是如何根据多个目标来确定个体的适应值。本文采用Gen 和Cheng 提出的适应性权重方法 (Adaptive Weight Approach ),该方法利用当前种群中一些有用的信息来重新调整权重,从而获得朝向正理想点的搜索压力(玄光男等,2004)。将目标函数按3.3.3所述转化成带有q 个目标(本文模型3 q )的最大化问题: )}(,),(),({max 2211x f z x f z x f z q q (3-14) 对于每代中待检查的解来说,在判据空间中定义两个极限点:最大极限点 z 和最小极限点 z 如下: },,,{} ,,,{m in m in 2m in 1m ax m ax 2m ax 1q q z z z z z z z z (3-15) 其中m in m ax k k z z 和是当前种群中第k 个目标的最大值和最小值。由两个极限点定义的超平行四边形是包含当前所有解的最小超平行四边形。两个极限点每代更新,最大极限点最终将接近正理想点。目标k 的适应性权重用下式计算: ),,2,1(1 min max q k z z k k k 因此,权重和目标(Weighted-sum Objective )函数由下面的公式确定 q k k k k q k k k z z x f x f x z 1m in m ax 1)()()( (3-16) 3.5.1.4 遗传操作 (1)选择操作。以比例选择法和最优个体保存法配合使用进行选择操作,即选择过程仍以旋转赌轮来为新的种群选择染色体,适应度越高的染色体被选中的概率越大;另一方面,为了保证遗传算法的全局收敛性,在选择作用后保留当前群体中适应度最高的个体,不参与交叉和变异,同时也确保当前最优个体不被随机进行的遗传操作破坏。

lingo建模入门--例题一

对于例题一: 某工厂在计划期内要安排生产Ⅰ、Ⅱ两种产品,已知生产单位产品所需的设备台时及A、B两种原材料的消耗,如表1-1所示: ⅠⅡ 设备128台时 原材料A4016kg 原材料B0412kg 利润2元3元 我们建立模型: 利用lingo求解时,可直接将模型输入,如在lingo中输入如下内容:!A sample linear program: MAX= 2 * x1 + 3 * x2; 4 * x1<= 16 ; 4 * x2<= 12 ; x1+ 2 * x2<= 8 ; 然后单机lingo菜单中的solve进行求解即可。 Lingo是一个设计用于建立和求解各种各样优化问题的数学建模语言,我们来看一下上面的模型: 第一行以惊叹号开始,以分号结束,是对模型的注释。 第二行给出了目标函数,显示了他是最大化的(注意:没有包含z变量),乘法用星号来表示,目标函数以分号结束。 下面的三行是约束函数,标点符号同一般的计算机语言,以分号结束。Lingo默认所有的变量为非负,若没有非负约束,需要用@free注明。

Lingo大小写不敏感,变量可以用大写或小写来表示。 Lingo窗口顶部的菜单条是一个标准的windows方式。一旦模型建立,即可从菜单或工具的solve按钮进行求解。在求解之前,lingo首先检查模型是否有语法错误,如果有,则提示错误位置。否则,求解工具开始求解,求解工具将在屏幕上出现一个求解状态窗口,当求解完成,求解报告将出现在屏幕上。 求解报告中,value列给出了决策变量的最优质。Slack or Surplus列的第一个输入显示了目标函数的响应值,下两个输入显示了每个约束函数两边之间的不同(对应于每个约束函数的剩余变量或松弛变量的值)。Reduced Cost和Dual Price列给出了问题的敏感性分析的信息。 这个模型足够小,能够一项一项写出,但这是单调乏味的。在一些相似的应用中,可能会有成千上万的决策变量和约束函数,一次以一项一项的方式写出模型是不现实的,lingo提供了一个有效地、紧凑的书写方式,即lingo建模语言。 LP模型一般具有重复的性质,所有的决策变量和约束函数都是同种类型的,lingo使用集合来描述这些重复的性质。 这个例子中的相关集合: 产品集合:P01,P02 资源集合:M01,M02,M03;(机器和原材料都可以看作是一种资源) 集合的属性: 1、每种产品的产量,每单位产品的利润 2、每周资源的供应量(包括原材料的供应量和设备的台时限制) 3、每单位每种产品分别需要资源的数量(产品和资源的组合的集合 成员的属性,这个集合源于两个简单的集合,称为导出集) 一个典型的lingo建立模型有三个部分: 1. 集合部分 2. 数据部分 3. 提供数学模型的部分 我们建立此模型的集合及数据部分: !lingo11 sets: !产品集合及其属性,/../之间的部分罗列了该集合的成员,每种属性会对应于集合的每个成员有一个值,相当于一个向量;

运筹学实例分析及lingo求解

. 运筹学实例分析及lingo 求解 一、线性规划 某公司有6个仓库,库存货物总数分别为60、55、51、43、41、52,现有8个客户各要一批货,数量分别为35,37,22,32,41,32,43,38。各供货仓库到8个客户处的单位货物运输价见表 试确定各仓库到各客户处的货物调运数量,使总的运输费用最小。 解:设 ij x 表示从第i 个仓库到第j 个客户的货物运量。ij c 表示从第i 个仓库到第 j 个客户的单位货物运价,i a 表示第i 个仓库的最大供货量,j d 表示第j 个客户的订货量。 目标函数是使总运输费用最少,约束条件有三个:1、各仓库运出的货物总量不超过其库存数2、各客户收到的货物总量等于其订货数量3、非负约束 数学模型为: ∑∑===6 18 1)(min i j ij ij x c x f ????? ??????≥===≤∑∑==08,,2,1,6,2,1,,. .6 1 8 1ij j i ij i j ij x j d x i a x t s ΛΛ

. 编程如下: model: Sets: Wh/w1..w6/:ai; Vd/v1..v8/:dj; links(wh,vd):c,x; endsets Data: ai=60,55,51,43,41,52; dj=35,37,22,32,41,32,43,38; c=6,2,6,7,4,2,5,9 4,9,5,3,8,5,8,2 5,2,1,9,7,4,3,3 7,6,7,3,9,2,7,1 2,3,9,5,7,2,6,5 5,5,2,2,8,1,4,3; Enddata Min=@sum(links(i,j):c(i,j)*x(i,j)); @for(wh(i):@sum(vd(j):x(i,j))<=ai(i)); @for(vd(j):@sum(wh(i):x(i,j))=dj(j)); end Global optimal solution found.

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

实验二:目标规划 一、实验目得 目标规划就是由线性规划发展演变而来得,线性规划考虑得就是只有一个目标函数得问题,而实际问题中往往需要考虑多个目标函数,这些目标不仅有主次关系,而且有得还相互矛盾。这些问题用线性规划求解就比较困难,因而提出了目标规划。熟悉目标规划模型得建立,求解过程及结果分析。 二、目标规划得一般模型 设)...2,1(n j x j =就是目标规划得决策变量,共有m 个约束就是国内刚性约束,可能就是等式约束,也可能就是不等式约束。设有l 个柔性目标约束,其目标规划约束得偏差就是),...,2,1(,l i d d i i =-+。设有q 个优先级别,分别为q p p p ,...,21。在同一个优先级k p 中,有不同得权重,分别记为),...,2,1(,l j w w kj kj =-+。因此目标规划模型得一般数学表达式为: min ∑∑=++--=+=l j j kj j kj q k k d w d w p z 11);( s 、t 、 ,,...2,1,),(1 m i b x a n j i j ij =≥=≤∑= . ,...2,1,0,, ,...,2,1,, ,...2,1,1l i d d n x o x l i g d d x c i i j i n j i i j ij =≥=≥==-++-=+-∑ 三、实验设备及分组 实验在计算机中心机房进行,使用微型电子计算机,每人一机(一组)。

四、实验内容及步骤 1、打开LINGO ,并利用系统菜单与向导在E 盘创建一个项目。目录与项目名推荐使用学生自己得学号。 2、以此题为例,建立数学模型,并用说明语句进行说明,增强程序得可读性。 例2、1: 某工厂生产Ⅰ、Ⅱ两种产品,需要用到A ,B ,C 三种设备,已知有关数据见下表。企业得经营目标不仅仅就是利润,还需要考虑多个方面: (1) 力求使利润不低于1500元; (2) 考虑到市场需求,Ⅰ、Ⅱ两种产品得产量比应尽量保持1:2; (3) 设备A 为贵重设备,严格禁止超时使用; (4) 设备C 可以适当加班,但要控制;设备B 即要求充分利用,又尽可能不加班。 在重要性上,设备C 就是设备B 得3倍。 此题中只有设备A 就是刚性约束,其余都就是柔性约束。首先,最重要得指标就是企业得利润,将它得优先级列为第一级;其次就是Ⅰ、Ⅱ两种产品得产量保持1:2得比例,列为第二级;再次,设备B 、C 得工作时间要有所控制,列为第三级。在第三级中,设备B 得重要性就是设备C 得3倍,因此它们得权重不一样,设备B 得系数就是设备C 得3倍。 该计划问题可用数学模型表示为: 目标函数 min )33()(433322211++-+--+++++=d d d p d d p d p z 满足约束条件 2122x x + 12≤ 15003002001121=-+++-d d x x 022221=-+-+ -d d x x 14x 1633=-++-d d 155442=-++-d d x 3,2,1,0,,,21=≥+-i d d x x i i LINGO 程序为:

利用Lingo解一个具体的运输问题例子

实验三:利用Lingo 解一个具体的运输问题例子 1、 实验目的和任务 1.1. 进一步掌握Lingo 编程操作; 1.2通过实验进一步掌握运筹学运输问题的建模以及求解过程,提高学生分析问题和解决问题能力。 2、 实验仪器、设备及材料 计算机、Lingo 3、 实验内容 运输问题 问题P271 设有某种物资需要从m 个产地12,,...,m A A A 运到n 个销地12,,...,n B B B ,其中每个产地的生产量为 12,,...,m a a a ,每个销地的需求量为 12,,...,n b b b 。设从产地 i A 到销地 j B 的运费单价为 (1,2,...,, 1,2,..ij c i m j n ==,问如何调运可使总运费最少? 3个产地4个销地的运输问题 建模 决策变量:决策变量就是产地i A 到销地j B 的运量ij x 目标函数: 1 1 m in m n ij ij i j z c x === ∑∑, 约束条件:第i 个产地的运出量应小于或等于该地的生产量,即 1 ,1,2,...,.n ij i j x a i m =≤=∑ 第j 个销地的运入量应等于该地的需求量,即

1 ,1,2,....m ij j i x b j n ===∑ 求解过程 编写模型程序: model : ! 3 Warehouse,4 Customer Transportation Problem; sets : Warehouse/1..3/:a; Customer/1..4/:b; Routes(warehouse,customer):c,x; endsets !here are the parameters; data : a=30,25,21; b=15,17,22,12; c=6,2,6,7, 4,9,5,3, 8,8,1,5; enddata ! The objective; [obj] min =@sum (routes:c*x); !The supply constraints; @for (warehouse(i):[sup]@sum (customer(j):x(i,j))<=a(i)); !The demand constraints; @for (customer(j):[dem] @sum (warehouse(i):x(i,j))=b(j)); end 计算结果: Global optimal solution found. Objective value: 161.0000 Total solver iterations: 6 Variable Value Reduced Cost A( 1) 30.00000 0.000000 A( 2) 25.00000 0.000000 A( 3) 21.00000 0.000000 B( 1) 15.00000 0.000000 B( 2) 17.00000 0.000000 B( 3) 22.00000 0.000000

规划问题的教学例题

规划问题的教学例题 例1 某工厂在计划期内要安排I、II两种产品生产。生产单位产品所需的设备台时及A,B两种原材料的消耗以及资源的限制如表1-1所示 另外,工厂每生产一单位I可以获利50元,每生产一单位II可以获利100元,问工厂应分别生产多少单位产品I和产品II,才能获利最多? 例 2 货物托运问题 某公司拟用集装箱托运甲、乙两种货物,这两种货物每件的体积、重量,可获利润以及托运限制如表1-2 且甲种货物最多托运4件,问两种货物各托运多少件,可获利最大。 例3 投资场所的选择 某公司计划在市区的东、南、西、北四个区建立销售门面,拟议中有10个位置Ai(i=1,2,…,10)可供选择,考虑到各个地区居民消费水平以及居民的居住密度,规定 在东区A1,A2,A3三个点中至少选择两个; 在西区A4,A5两个点中至少选择一个; 在南区A6,A7两个点中至少选择一个; 在北区A8,A9,A10三个点中至少选择2个。 A1A2A3A4A5A6A7A8A9A10 投资额10012015080709080140160180 利润36405022203025485861 另外,投资总额不能超过720万元,问应该选择哪几家销售点,可使得年利润为最大? 例4 固定成本问题 高压容器公司制造小、中、大三种尺寸的金属容器,所用资源为金属板、劳动力和机器设

备,制造一个容器的各种资源的数量如表1-3所示

不考虑固定费用,每种容器出售一只的利润分别为4万元,5万元,6万元,可使用的金属板有500t,劳动力有300人/月,机器有100台/月。 例5 路灯照度问题 在一条20m宽的道路两侧,分别安装了一只2kw和一只3kw的路灯,它们离地面的高度分别为5m和6m。在漆黑的夜晚,当两只路灯开启时,两只路灯连线路面上最暗的点和最亮的点在哪里?如果3kw路灯的高度可以在3m到9m之间变化,如何使得路面上最暗和最亮的点的位置?如果两只路灯的高度均可以在3m到9m之间变化,结果将如何? 例6 某部门有三个生产同一产品的工厂(产地),生产的产品运往四个销售点(销地)出售,各个工厂的生产量、各销地的销量(单位:吨)、从各个工厂到各个销售点的单位运价(元/吨)如下表,研究如何调运才能使得总运费最小。 例7 多目标供给问题 已知三个工厂生产的产品供应给四个用户,各工厂生产量、用户需求量及从各个工厂到用户的单位产品的运输费用如表4-2所示。由于总生产量小于总需求量,上级部门经研究决定,制定了调配方案的8项指标,并规定了重要性的次序。

相关文档
最新文档