Matlab implements integer planning/01 planning

%标准形式:
%   [x,fval,exitflag]= intlinprog(f,intcon,A,b,Aeq,beq,lb,ub) %目标函数是最小值
%   [x,fval,exitflag]= intlinprog(-f,intcon,A,b,Aeq,beq,lb,ub) %目标函数是最大值
%线性规划标准形式是<=,对于>必须取反
%F指目标函数系数,缺项处补零
%A指不等式左向系数,同一式下用逗号,不同式下用分号
%B指不等式右向系数,用分号间隔
%Aeq指等式左向系数,同一式下用逗号,不同式下用分号
%Beq指等式右向系数,用分号间隔
%LB指变量范围最小值,UB指变量范围最大值
%没有明确规定的范围(输入参数不存在),使用[]表示
%intcon指约束变量的位置(从1开始计数)
%EXITFLAG 为运行结束标志,当等于1时,表示程序收敛于解 X;当等于0时,表示程序运行次数到达最大;当小于0时,说明情况较多

%01规划就是把整数规划上下限LB,UB规定在[0,1],lb=zeros(5,1);ub=ones(5,1);

%X代表向量取值,FVAL为最优值
%举例:
% min z=-x1-x2
% st:
% -4x1+2x2≤-1
% 4x1+2x2≤11
% -2x2≤-1
% x1,x2≥0,整数
f_13=[-1,-1];
ic_13=[1,2];
A_13=[-4,2;4,2;0,-2];
b_13=[-1;11;-1];
lb_13=zeros(2,1);
[x_13,fval_13,flag_13]=intlinprog(f_13,ic_13,A_13,b_13,[],[],lb_13,[])

Reference blog: https://blog.csdn.net/u010155023/article/details/48058391/

Guess you like

Origin blog.csdn.net/gls_nuaa/article/details/113126498