好像是解非线性规划里的,具体怎么用?
罚函数针对不同的问题而有所不同,基本的意思应该是如果违反了某一约束条件,就会在目标值中加以惩罚,即显著的增大或减小函数目标值!
不知道我这样说对不对,反正我是这么理解的
[em07]我知道有指数罚函数和对数罚函数(极大熵法就属于这一类)!
在不规则可行域里寻找最优值的问题中
有些算法允许同时从可行域里面和外面进行搜索
从而可以有效的找到位于边界的最优值
当搜索点落在可行域外面的时候
需要用一些修正方法来计算它们的目标函数值
这就是所谓的罚函数的思想
至于具体的实现方式
可以有不同的形式
对于问题
min f(x)
s.t g_i(x)<=0,i=1,\cdots,m
构造如下函数
h(x,t)=u(f(x))+\sum_{i=1}^m v(g_i(x),t)
其中,u()是增函数,v满足
v(y,t)={0,y<=0,
{+\infty y>0
这就是说,当点x可行,就在可行域搜索,不然,在可行域外,就强迫它回到可行域,这就是罚函数思想。
由于v(y,t)比较难实现,实际中都是用连续可微函数v(y,t)来逼近它。不同的函数构成了不同的罚方法 。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) | Powered by Discuz! X2.5 |