Matlab一般对于线性规划,非线性规划都有比较标准的函数。这里主要简单粘贴一下基本的一些代码,方便使用
线性规划
- 目标函数,约束条件标准化
minx cTxs.t.Ax≤bAeq∗x=Beq min_{x}\ c^{T}x\\s.t.Ax\leq{b}\\Aeq*x=Beq minx cTxs.t.Ax≤bAeq∗x=Beq
- Matlab程序
x,fval] = linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
其中X0
为初始值。
- 举例
min z=−5x1−4x2−6x3x1−x2+x3≤203x1+2x2+4x3≤40x1−x2+x3=70≤x1≤10,0≤x2≤12,0≤x3≤15 min\ z=-5x_{1}-4x_{2}-6x_{3}\\ x_{1}-x_{2}+x_{3}\leq20\\ 3x_{1}+2x_{2}+4x_{3}\leq40\\ x_{1}-x_{2}+x_{3}=7\\ 0\leq x_{1}\leq10,0\leq x_{2}\leq12,0\leq x_{3}\leq15 min z=−5x1−4x2−6x3x1−