1)区间收缩法 ;
2)函数逼近法;
非精确一维搜索:
1)Armijo准则;
2)Wolfe准则;
主要步骤:
算法流程:
例题:
对称原则:
保持缩减比例原则:
优点: 不要求函数可微,除过第一次外,每次迭代只需计算一个函数值,计算量小,程序简单;
缺点:收敛速度慢;
例题:
详细迭代结果:
这种带有非线性约束的应该用fmincon求解。
function [c, ceq] = mycon(x)L = [100 1e3 1e3 10*ones(1,5)]'
U = [1e4 1e4 1e4 1e3*ones(1,5)]'
c = [25*(x(4)+x(6)) - 1e4
25*(-x(4)+x(5)+x(7)) - 1e4
-x(5)+x(8) - 100
100*x(1)-x(1)*x(6)+833.33252*x(4) - 83333.333
x(2)*x(4)-x(2)*x(7)-1250*x(4)+1250*x(5)
x(3)*x(5)-x(3)*x(8)-2500*x(5) + 1.25e6
x-U
L-x]
ceq = []
end
主程序调用:
f = @(x)sum(x(1:3))x = fmincon(f,(L+U)/2,[],[],[],[],[],[], @mycon, optimset('Display', 'off'))
f(x)
结果与标准答案一致
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)