b=[200 -100 -50];
lb=zeros(2,1);
[x,fval,attainfactor,exitflag] = …
fgoalattain(@opt26_4o,x0,goal,weight,A,b,[],[],lb,[]);
磁盘中本问题的M文件为opt26_4.m。
输出计算结果
x =
50 50
fval =
150 -100 -50
attainfactor =
1.3235e-023
exitflag =
1
所以,最好的采购方案是采购甲级原料和乙级原料各50千克。此时采购总费用为150元,总重量为100千克,甲级原料总重量为50千克。
9.2.7 最大最小化
9.2.7.1 基本数学原理
通常我们遇到的都是目标函数的最大化和最小化问题,但是在某些情况下,则要求最大值的最小化才有意义。例如城市规划中需要确定急救中心、消防中心的位置,可取的目标函数应该是到所有地点最大距离的最小值,而不是到所有目的地的距离和为最小。这是两种完全不同的准则,在控制理论、逼近论、决策论中也
使用最大最小化原则。
最大最小化问题的数学模型为
其中x, b, beq, lb和ub为向量,A和Aeq为矩阵,c(x), ceq(x)和F(x)为函数,返回向量。F(x), c(x)和ceq(x)可以是非线性函数。
Matlab优化工具箱中采用序列二次规划法求解最大最小化问题。
9.2.7.2 相关函数介绍
fminimax函数
功能:求解最大最小化问题。
语法: