Page 172 - 数学建模算法与应用
P. 172
Mathematical Modeling Algorithms and Applications
数学建模算法与应用
三、罚函数法
利用罚函数法将非线性规划问题的求解可以转化为求解一系列无约束极值,
也称为序列无约束最小化技术 (sequential unconstrained minization technique,
SUMT )。SUMT 利用问题中的约束函数作出适当的罚函数,再由此构造出带参
数的增广目标函数,从而可将问题转化为无约束非线性规划。其主要有两种形式,
一种叫外罚函数法,另一种叫内罚函数法,下面介绍外罚函数法。
(一)考虑问题
取一个充分大的数 M > 0 ,构造函数
这里
Matlab 中可以直接利用 max 、min 和 sum 函数。)
则以增广目标函数 P(x, M ) 为目标函数的无约束极值问题 的最优解
x 也是原问题的最优解。
例 求下列非线性规划
解 1. 编写 M 文件 test.m
function g=test(x);
M=50000;
f=x(1)^2+x(2)^2+8;
g=f-M*min(x(1),0)-M*min(x(2),0)-M*min(x(1)^2-x(2),0)+...
162

