parent
65ff3bee25
commit
a59d58046e
@ -0,0 +1,40 @@
|
||||
clc; clear; close all; format long g;
|
||||
prob=optimproblem;
|
||||
x=optimvar('x',9,1,'LowerBound',0,'Type','integer');
|
||||
p=[0.25,0.35,0.50];
|
||||
r=[1.25,2.00,2.80];
|
||||
ot=[5,10,0;7,9,12;6,8,0;4,0,11;7,0,0];
|
||||
total=1000:200:3000;
|
||||
odp=[300/6000,321/10000,250/4000,783/7000,200/4000];
|
||||
|
||||
X=[];
|
||||
Q=[];
|
||||
|
||||
for i=1:length(total)
|
||||
% prob.Objective=(ot(1,1)*ones(1,3)*x(1:3)+ot(1,2)*x(7))*odp(1)+(ot(2,1)*ones(1,3)*x(4:6)+ot(2,2)*x(8)+ot(2,3)*x(9))*odp(2)+(ot(3,1)*(x(1)+x(4))+ot(3,2)*(x(7)+x(8)))*odp(3)+(ot(4,1)*(x(2)+x(5))+ot(4,3)*x(9))*odp(4)+(ot(5,1)*(x(3)+x(6)))*odp(5)-(r(1)-p(1))*ones(1,6)*x(1:6)-(r(2)-p(2))*ones(1,2)*x(7:8)-(r(3)-p(3))*x(9);
|
||||
dp1=(ot(1,1)*ones(1,3)*x(1:3)+ot(1,2)*x(7))*odp(1);
|
||||
dp2=(ot(2,1)*ones(1,3)*x(4:6)+ot(2,2)*x(8)+ot(2,3)*x(9))*odp(2);
|
||||
dp3=(ot(3,1)*(x(1)+x(4))+ot(3,2)*(x(7)+x(8)))*odp(3);
|
||||
dp4=(ot(4,1)*(x(2)+x(5))+ot(4,3)*x(9))*odp(4);
|
||||
dp5=(ot(5,1)*(x(3)+x(6)))*odp(5);
|
||||
dp=dp1+dp2+dp3+dp4+dp5;
|
||||
prob.Objective=dp-(r(1)-p(1))*ones(1,6)*x(1:6)-(r(2)-p(2))*ones(1,2)*x(7:8)-(r(3)-p(3))*x(9);
|
||||
prob.Constraints.con1=p(1)*ones(1,6)*x(1:6)+p(2)*ones(1,2)*x(7:8)+p(3)*x(9)+dp<=total(i);%总费用
|
||||
prob.Constraints.con2=ot(1,1)*ones(1,3)*x(1:3)+ot(1,2)*x(7)<=6000;%A1
|
||||
prob.Constraints.con3=ot(2,1)*ones(1,3)*x(4:6)+ot(2,2)*x(8)+ot(2,3)*x(9)<=10000;
|
||||
prob.Constraints.con4=ot(3,1)*(x(1)+x(4))+ot(3,2)*(x(7)+x(8))<=4000;
|
||||
prob.Constraints.con5=ot(4,1)*(x(2)+x(5))+ot(4,3)*x(9)<=7000;
|
||||
prob.Constraints.con6=ot(5,1)*(x(3)+x(6))<=4000;
|
||||
[sol,fval,flag,out]=solve(prob);
|
||||
xx=sol.x;
|
||||
|
||||
X=[X,xx];
|
||||
Q=[Q,-fval];
|
||||
|
||||
end
|
||||
plot(total,Q,'*-');
|
||||
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in new issue