好文档 - 专业文书写作范文服务资料分享网站

实验三:多目标规划- 副本

天下 分享 时间: 加入收藏 我要投稿 点赞

实验三:多目标规划

一、实验目的:多目标规划建模及其优化软件求解。 二、实验要求:

1.了解求解多目标规划的常用方法:图解法、序贯式算法、单纯形法; 2.掌握多目标规划模型的建立;

3.会用 matlab、lingo软件求解多目标规划问题;

三、实验内容:

先分别算单个目标的的最小值,再将两个目标的最小值作为goal

1、已知多目标线性规划问题如下:

maxz1?100x1?90x2?80x3?70x4minz2?3x2?2x4?x1?x2?30??x3?x4?30??3x1?2x3?120?3x?2x?484?2??xj?0,j?1,,4

(1)给出求解上述问题的matlab原始代码;

(提示:参看求解多目标规划的 matlab 函数 fgoalattain);

fun='[-100*x(1)-90*x(2)-80*x(3)-70*x(4),3*x(2)+2*x(4)]';

a=[1 1 0 0 0 0 1 1 3 0 2 0 0 3 0 2]; b=[-30 -30 120 48]'; goal=[30 5960]; weight=goal; x0=[20 20 20 20]; lb=[0 0 0 0]';

[x,fval,attainfactor,exitflag,output,ambda]=fgoalattain(fun,x0,goal,weight,a,b,[],[],lb,[])

(2)求解结果粘贴,并对计算结果分析。

x =

20.0422 20.0422 20.0422 20.0422

fval =

1.0e+003 *

-6.8143 0.1002

attainfactor =

-0.1026

exitflag =

0

2、某彩电组装工厂,生产A,B,C三种规格电视机。装配工作在同一生产线上完成,3种产品装配每台的工时消耗分别为6h,8h和10h。生产线每月正常工作时间为200h;每台彩电的利润分别为500元、650元和800元。每月销售量预计分别为12台、10台、6台。该厂经营目标如下: 第一目标:利润指标为1.6?104元/月;

第二目标:充分利用生产能力; 第三目标:加班时间不超过24h; 第四目标:产量以预计销量为标准。

(1) 为确定生产计划,试建立该问题的目标规划模型;

min z?p1d1?p2d2?p3d3?p4(d4?d4?d5?d5?d6?d6)500x1?650x2?800x3?p1d1?p1d1?160006x1?8x2?10x3?p2d2?p2d2?2006x1?8x2?10x3?p3d3?p3d3?240x1?d4?d4?12x2?d5?d5?10x3?d6?d6?6 di?0,di?0( i?1,2...6)xj?0 (j?1,2,3)

???????????????????????

(2) 给出求解上述模型的lingo原始代码; 第一级目标 代码

model : sets:

variable/1..3/:x;

S_Con_Num/1..6/:g,dplus,dminus; S_con(S_Con_Num,Variable):c; endsets data:

g=16000 200 24 12 10 6;

c=500 650 800 6 8 10 6 8 10 1 0 0 0 1 0 0 0 1; enddata

min =dminus(1);

@for(S_Con_Num(i):@sum(Variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); end

第二级目标 代码

model : sets:

variable/1..3/:x;

S_Con_Num/1..6/:g,dplus,dminus; S_con(S_Con_Num,Variable):c; endsets data:

g=16000 200 24 12 10 6;

c=500 650 800 6 8 10 6 8 10 1 0 0 0 1 0 0 0 1; enddata

min =dminus(2); !二级目标函数; dminus(1)=0; !一级目标约束;

@for(S_Con_Num(i):@sum(Variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); end

第三级目标 代码

model : sets:

variable/1..3/:x;

S_Con_Num/1..6/:g,dplus,dminus; S_con(S_Con_Num,Variable):c; endsets data:

g=16000 200 24 12 10 6;

c=500 650 800 6 8 10 6 8 10 1 0 0 0 1 0 0 0 1; enddata

min =dplus(3); !三级目标函数; dminus(2)=0; !二级目标约束; dminus(1)=0; !一级目标约束;

@for(S_Con_Num(i):@sum(Variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); end 第四级目标 model : sets:

variable/1..3/:x;

S_Con_Num/1..6/:g,dplus,dminus; S_con(S_Con_Num,Variable):c; endsets data:

g=16000 200 24 12 10 6;

c=500 650 800 6 8 10 6 8 10 1 0 0 0 1 0 0 0 1; enddata

min =dplus(4)+dminus(4)+dplus(5)+dminus(5)+dplus(6)+dminus(6); !三级目标函数;

dplus(3)=0; !三级目标函数;

代码

dminus(2)=0; !二级目标约束; dminus(1)=0; !一级目标约束;

@for(S_Con_Num(i):@sum(Variable(j):c(i,j)*x(j))+dminus(i)-dplus(i)=g(i)); end

实验三:多目标规划- 副本

实验三:多目标规划一、实验目的:多目标规划建模及其优化软件求解。二、实验要求:1.了解求解多目标规划的常用方法:图解法、序贯式算法、单纯形法;2.掌握多目标规划模型的建立;3.会用matlab、lingo软件求解多目标规划问题;三、实验内容:先分别算单个
推荐度:
点击下载文档文档为doc格式
4nl195fadc7f1wl0kijh
领取福利

微信扫码领取福利

微信扫码分享