Page 295 - 数学建模算法与应用
P. 295
第十章 目标规划的研究
goal(1) 和 goal(2) 的输入值也均是 0。最终结果是: x = 2 , x 2 = 4 ,最优利润是
1
1600 元,第三级的最优偏差为 29。
第三节 多目标规划的 Matlab 解法应用
多目标规划可以归结为
使得
F(x) - weight·γ ≤ goal
A·x ≤ b, Aeq·x = beq
c(x) ≤ 0, ceq(x) = 0
lb ≤ x ≤ ub
其中 x,weight, goal,b,beq,lb 和 ub 是向量,A 和 Aeq 是矩阵;c(x),
ceq(x) 和 F(x) 是向量函数,他们可以是非线性函数。 F(x) 是所考虑的目标函数,
goal 是欲达到的目标,多目标规划的 Matlab 函数 fgoalattain 的用法为
[x,fval]= fgoalattain(‘fun’,x0,goal,weight)
[x,fval]= fgoalattain(‘fun’,x0,goal,weight,A,b)
[x,fval]= fgoalattain(‘fun’,x0,goal,weight,A,b,Aeq,beq)
[x,fval]= fgoalattain(‘fun’,x0,goal,weight,A,b,Aeq,beq,
lb,ub,nonlcon)
其中 fun 是用 M 文件定义的目标向量函数,x 0 是初值,weight 是权重。A,
*
*
b 定义不等式约束 A x ≤ b,Aeq,beq 定义等式约束 Aeq x=Beq,nonlcon 是用 M
文件定义的非线性约束 c(x)≤0,ceq(x)=0。返回值 fval 是目标向量函数的值。
要完整掌握其用法,请用 help fgoalattain 或 type fgoalattain 查询相关的帮助。
例 5 求解多目标线性规划问题
285

