matlab罚函数法求解线性规划问题~~~~急急急!!!
外罚函数法是什么原理,怎么实现的,用的多不多?谢谢!!O(∩_∩)Ofunctiong=test(x);M=50000;f=x(1)^2+x(2)^2+8;g=f-M*m...
外罚函数法是什么原理,怎么实现的,用的多不多?谢谢!!O(∩_∩)O
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)+M*abs(-x(1)-x(2)^2+2);
[x,y]=fminun('text',rand(2,1))
这个程序什么意思,g表示什么? 展开
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)+M*abs(-x(1)-x(2)^2+2);
[x,y]=fminun('text',rand(2,1))
这个程序什么意思,g表示什么? 展开
1个回答
展开全部
M是一个“十分大”,也叫“足够大”的正数。。。其作用是使得检验数得到足够的数值,以将相应的变量从基变量中排除。。。一般是为了人造一个初始基,然后将其变量排除用。。。
上题中:f是原始的目标函数,g则是原始目标函数加上一个初始基之后的新目标函数。
单纯形法原理中,Cj = M 则 检验数 Cj - CbB^(-1)Pj 总是和M的符号一致(因为M足够大,所以只用考虑Cj的符号就行了)。
则在求最大化问题中,使得人工变量的系数为-M,则此变量将一定会被排除出基变量。
在求最小化问题中,使得人工变量的系数为M,则此变量也一定会被排除出基变量。
上题中:f是原始的目标函数,g则是原始目标函数加上一个初始基之后的新目标函数。
单纯形法原理中,Cj = M 则 检验数 Cj - CbB^(-1)Pj 总是和M的符号一致(因为M足够大,所以只用考虑Cj的符号就行了)。
则在求最大化问题中,使得人工变量的系数为-M,则此变量将一定会被排除出基变量。
在求最小化问题中,使得人工变量的系数为M,则此变量也一定会被排除出基变量。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询