Matlab整数规划解决排班问题
原问题
解决方案
代码方案
clc,clear,close all
f = ones(1,6); //f,A,b这些变量的名称在matlab中都有特殊含义
A = [-1 0 0 0 0 -1
-1 -1 0 0 0 0
0 -1 -1 0 0 0
0 0 -1 -1 0 0
0 0 0 -1 -1 0
0 0 0 0 -1 -1
];
b = [-10;-15;-25-20;-18;-12];
lb = zeros(6,1);
[x,fval,exitflag,output,lambda]=linprog(f,A,b,[],[],lb)
● x=linprog(f,A,b):求解问题min f(x),约束条件为Ax≤b. 这就意味着如果是>=那么就必须要变号
● x=linprog(f,A,b,Aeq,beq):求解上面的问题,但增加等式约束,即Aeqx=beq。若没有不等式存在,则令A=[]、b=[]。