parent
a59d58046e
commit
1c2217abc4
@ -0,0 +1,49 @@
|
||||
%整数规划
|
||||
%P23 ej2.5
|
||||
%optimproblem解法
|
||||
clc; clear; close all; format long g;
|
||||
prob=optimproblem;
|
||||
x=optimvar('x',6,'LowerBound',0,'Type','integer');
|
||||
prob.Objective=sum(x);
|
||||
cnt=[35,40,50,45,55,30];
|
||||
con=optimconstr(6);
|
||||
con(1)=x(1)+x(6)>=35;
|
||||
for i=1:5
|
||||
con(i+1)=x(i)+x(i+1)>=cnt(i+1);
|
||||
end
|
||||
prob.Constraints.con=con;
|
||||
[sol,fval,flag,out]=solve(prob);
|
||||
X=sol.x;
|
||||
|
||||
|
||||
%linprog解法
|
||||
clc; clear; close all; format long g;
|
||||
f=[1,1,1,1,1,1];
|
||||
intcon=[1:6];
|
||||
A=zeros(6,6);
|
||||
A(1,1)=-1;
|
||||
A(1,6)=-1;
|
||||
for i=1:5
|
||||
A(i+1,i)=-1;
|
||||
A(i+1,i+1)=-1;
|
||||
end
|
||||
lb=zeros(6,1);%注意不是lb=0
|
||||
b=[-35;-40;-50;-45;-55;-30];
|
||||
[x,fval]=intlinprog(f,intcon,A,b,[],[],lb);
|
||||
|
||||
|
||||
|
||||
%01规划
|
||||
%背包问题
|
||||
|
||||
f=-[540,200,180,350,60,150,280,450,320,120];
|
||||
intcon=1:10;
|
||||
lb=zeros(10);
|
||||
ub=ones(10);
|
||||
A=[6,3,4,5,1,2,3,5,4,2];
|
||||
b=30;
|
||||
[x,fval]=intlinprog(f,intcon,A,b,[],[],lb,ub);
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in new issue