Matlab一般对于线性规划,非线性规划都有比较标准的函数。这里主要简单粘贴一下基本的一些代码,方便使用
线性规划
- 目标函数,约束条件标准化
m i n x c T x s . t . A x ≤ b A e q ∗ x = B e q 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
为初始值。
- 举例
m i n z = − 5 x 1 − 4 x 2 − 6 x 3 x 1 − x 2 + x 3 ≤ 20 3 x 1 + 2 x 2 + 4 x 3 ≤ 40 x 1 − x 2 + x 3 = 7 0 ≤ x 1 ≤ 10 , 0 ≤ x 2 ≤ 12 , 0 ≤ x 3 ≤ 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−4x