lingo求解多目标规划例题.docx

上传人:b****8 文档编号:29483291 上传时间:2023-07-23 格式:DOCX 页数:17 大小:67.54KB
下载 相关 举报
lingo求解多目标规划例题.docx_第1页
第1页 / 共17页
lingo求解多目标规划例题.docx_第2页
第2页 / 共17页
lingo求解多目标规划例题.docx_第3页
第3页 / 共17页
lingo求解多目标规划例题.docx_第4页
第4页 / 共17页
lingo求解多目标规划例题.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

lingo求解多目标规划例题.docx

《lingo求解多目标规划例题.docx》由会员分享,可在线阅读,更多相关《lingo求解多目标规划例题.docx(17页珍藏版)》请在冰豆网上搜索。

lingo求解多目标规划例题.docx

lingo求解多目标规划例题

实验二:

目标规划

一、实验目的

目标规划是由线性规划发展演变而来的,线性规划考虑的是只有一个目标函数的问题,而实际问题中往往需要考虑多个目标函数,这些目标不仅有主次关系,而且有的还相互矛盾。

这些问题用线性规划求解就比较困难,因而提出了目标规划。

熟悉目标规划模型的建立,求解过程及结果分析。

二、目标规划的一般模型

是目标规划的决策变量,共有

个约束是国内刚性约束,可能是等式约束,也可能是不等式约束。

设有

个柔性目标约束,其目标规划约束的偏差是

设有

个优先级别,分别为

在同一个优先级

中,有不同的权重,分别记为

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

min

.

三、实验设备及分组

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

~

四、实验内容及步骤

1、打开LINGO,并利用系统菜单和向导在E盘创建一个项目。

目录和项目名推荐使用学生自己的学号。

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

例:

某工厂生产Ⅰ、Ⅱ两种产品,需要用到A,B,C三种设备,已知有关数据见下表。

企业的经营目标不仅仅是利润,还需要考虑多个方面:

(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的比例,列为第二级;再次,设备B、C的工作时间要有所控制,列为第三级。

在第三级中,设备B的重要性是设备C的3倍,因此它们的权重不一样,设备B的系数是设备C的3倍。

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

目标函数min

满足约束条件

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;

在目标规划中,约束有两类。

一类是对资源有严格限制的,同线性规划的处理相同,用严格的等式或者不等式约束来处理,称此约束为刚性约束(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;

柔性约束在不同优先级下的权重。

endsets

data:

数据输入部分(从“data:

”开始,到“enddata”结束):

作用在于对集合的属性(数组)输入必要的常数数据。

p=;

常数列表中的数据之间可以用“,”或者“空格”或者“回车”分开。

如果想在运行时才对参数赋值,可以在数据段使用输入语句,但这仅用于对单个变量赋值,而不能用于属性变量(数值)。

输入语句格式为“变量名=;”。

goal=0;

b=12;

g=150001615;

a=22;

c=2003002-14005;

"

LINGO中的数据是按列赋值的,而不是按行赋值的。

wplus=0000

0100

0031;

wminus=1000

0100

0030;

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命令编译模型,当程序运行时,会出现一个对话框,如图。

在作第一级目标计算时,p

(1),p

(2),p(3)分别输入1,0,0,goal

(1)和goal

(2)输入两个较大的值(例如100000),表明这两项约束不起作用。

运行状态窗口如图,相应信息含义见实验一表。

图LINGO的实时参数窗口

.

图:

LINGO运行状态窗口

计算结果如下:

Globaloptimalsolutionfound.

Objectivevalue:

Totalsolveriterations:

1

 

VariableValueReducedCost

P

(1)

'

P

(2)

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(1,2)

C(2,1)

C(2,2)

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,3)

WMINUS(3,4)

RowSlackorSurplusDualPrice

1

<

2

3

4

5

6

7

8

9

第一级的最优偏差为0,进行第二级计算。

在第二级目标计算时,p

(1),p

(2),p(3)分别输入0,1,0。

由于第一级的偏差为0,因此goal

(1)的输入值为0,goal

(2)输入一个较大的值(例如100000)。

计算结果如下:

·

Globaloptimalsolutionfound.

Objectivevalue:

Totalsolveriterations:

2

 

VariableValueReducedCost

P

(1)

P

(2)

P(3)

Z

(1)

Z

(2)

Z(3)

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(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,3)

WMINUS(3,4)

RowSlackorSurplusDualPrice

1

2

3

4

'

5

6

7

8

9

第二级的最优偏差为0,进行第三级计算。

在第三级目标计算时,p

(1),p

(2),p(3)分别输入0,0,1。

由于第一级、第二级的偏差均为0,因此goal

(1)、goal

(2)的输入值也均是0。

计算结果如下:

GGlobaloptimalsolutionfound.

Objectivevalue:

Totalsolveriterations:

0

VariableValueReducedCost

P

(1)

P

(2)

P(3)

Z

(1)

Z

(2)

Z(3)

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(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,3)

WMINUS(3,4)

RowSlackorSurplusDualPrice

1

2

3

4

5

6

7

8

9

第三级的最优偏差为29,所以最终结果是:

,利润为1600。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > IT计算机 > 互联网

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1