parent
d032cbab43
commit
811bec3b62
@ -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