多目标线性规划的若干解法及MATLAB 实现
一.多目标线性规划模型
多目标线性规划有着两个和两个以上的目标函数,且目标函数和约束条件全是线性函
数,其数学模型表示为:
11111221221122221122max n n n n
r r r rn n
z c x c x c x z c x c x c x z c x c x c x =+++??=+++?? ??=+++? (1)
约束条件为:
1111221121122222112212,,,0
n n n n m m mn n m
n a x a x a x b a x a x a x b a x a x a x b
x x x +++≤??+++≤?? ??+++≤?≥?? (2) 若(1)式中只有一个1122i i i in n z c x c x c x =+++ ,则该问题为典型的单目标线性规划。我们记:()ij m n A a ?=,()ij r n C c ?=,12(,,,)T m b b b b = ,12(,,,)T n x x x x = ,
12(,,,)T r Z Z Z Z = .
则上述多目标线性规划可用矩阵形式表示为:
max Z Cx =
约束条件:0
Ax b
x ≤??
≥? (3)
二.MATLAB 优化工具箱常用函数[3]
在MA TLAB 软件中,有几个专门求解最优化问题的函数,如求线性规划问题的linprog 、求有约束非线性函数的fmincon 、求最大最小化问题的fminimax 、求多目标达到问题的fgoalattain 等,它们的调用形式分别为:
①.[x,fval]=linprog(f,A,b,Aeq,beq,lb,ub)
f 为目标函数系数,A,b 为不等式约束的系数, Aeq,beq 为等式约束系数, lb,ub 为x 的下
限和上限, fval 求解的x 所对应的值。
算法原理:单纯形法的改进方法投影法 ②.[x,fval ]=fmincon(fun,x0,A,b,Aeq,beq,lb,ub )
fun 为目标函数的M 函数, x0为初值,A,b 为不等式约束的系数, Aeq,beq 为等式约束