1 / 23
文档名称:

用MATLAB求解非线性规划ppt课件.ppt

格式:ppt   大小:478KB   页数:23页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

用MATLAB求解非线性规划ppt课件.ppt

上传人:aluyuw1 2022/6/13 文件大小:478 KB

下载得到文件列表

用MATLAB求解非线性规划ppt课件.ppt

相关文档

文档介绍

文档介绍:用MATLAB软件求解,其输入格式如下:
1. x=quadprog(H,C,A,b);
2. x=quadprog(H,C,A,b,Aeq,beq);
3. x=quadprog(H,C,A,b,Aeq,beq,VLB,g,ceq]=mycon2(x)
g=[x(1)^2+x(2)^2-25;x(1)^2-x(2)^2-7];
3. :
x0=[3;];
VLB=[0 0];VUB=[5 10];
[x,fval,exitflag,output]
=fmincon('fun',x0,[],[],[],[],VLB,VUB,'mycon2')
4. 运算结果为:
x =


fval =-
exitflag = 1
output =
iterations: 4
funcCount: 17
stepsize: 1
algorithm: [1x44 char]
firstorderopt: []
cgiterations: []
应用实例: 供应与选址
某公司有6个建筑工地要开工,每个工地的位置(用平面坐标系a,b表示,距离单位:千米 )及水泥日用量d(吨)由下表给出。目前有两个临时料场位于A(5,1),B(2,7),日储量各有20吨。假设从料场到工地之间均有直线道路相连。
(1)试制定每天的供应计划,即从A,B两料场分别向各工地运送多少吨水泥,使总的吨千米数最小。
(2)为了进一步减少吨千米数,打算舍弃两个临时料场,改建两个新的,日储量各为20吨,问应建在何处,节省的吨千米数有多大?
(一)、建立模型
记工地的位置为(ai,bi),水泥日用量为di,i=1,…,6;料场位置为(xj,yj),日储量为ej,j=1,2;从料场j向工地i的运送量为Xij。
当用临时料场时决策变量为:Xij,
当不用临时料场时决策变量为:Xij,xj,yj。
(二)使用临时料场的情形
使用两个临时料场A(5,1),B(2,7).求从料场j向工地i的运送量为Xij,在各工地用量必须满足和各料场运送量不超过日储量的条件下,使总的吨千米数最小,这是线性规划问题. 线性规划模型为:
设X11=X1, X21= X 2,, X31= X 3, X41= X 4, X51= X 5,, X61= X 6
X12= X 7, X22= X 8,, X32= X 9, X42= X 10, X52= X 11,, X62= X 12

:
clear
a=[ 3 ];
b=[ 5 ];
d=[3 5 4 7 6 11];
x=[5 2];
y=[1 7];
e=[20 20];
for i=1:6
for j=1:2
aa(i,j)=sqrt((x(j)-a(i))^2+(y(j)-b(i))^2);
end
end
CC=[aa(:,1); aa(:,2)]';
A=[1 1 1 1 1 1 0 0 0 0 0 0
0 0 0 0 0 0 1 1 1 1 1 1];
B=[20;20];
Aeq=[1 0 0 0 0 0 1 0 0 0 0 0
0 1 0 0 0 0 0 1 0 0 0 0
0 0 1 0 0 0 0 0 1 0 0 0
0 0 0 1 0 0 0 0 0 1 0 0
0 0 0 0 1 0 0 0 0 0 1 0
0 0 0 0 0 1 0 0 0 0 0 1 ];
beq=[d(1);d(2);d(3);d(4);d(5);d(6)];
VLB=[0 0 0 0 0 0 0 0 0 0 0 0];VUB=[];
x0=[1 2 3 0 1 0 0 1 0 1 0 1];
[xx,fval]=linprog(CC,A,B,Aeq,beq,VLB,VUB,x0)
计算结果为:
x =[
]’
fval