zzqhypergeek

Matlab整数规划解决排班问题

Matlab整数规划问题

原问题

image-20221209154401329

解决方案

image-20221209154500928

代码方案

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=[]。

● x=linprog(f,A,b,Aeq,beq,lb,ub):定义设计变量x的下界lb和上界ub,使得x始终在该范围内。若没有等式约束,则令Aeq=[]、beq=[]。

posted on 2022-12-09 15:55  Javacism  阅读(270)  评论(0编辑  收藏  举报

导航