内点惩罚函数求最优解的matlab编程

内点惩罚函数求最优解的matlab编程,第1张

function main()

clc; clear all; close all;

options = optimset('Algorithm', 'interior-point', 'Display', 'off');

A = []; b = [];

Aeq = []; beq = [];

lb = [1; -inf]; ub = [inf; inf];

x0 = [1 2];

[x,fval,exitflag] = fmincon(@net_fun,x0,A,b,Aeq,beq,lb,ub,[],options);

if exitflag == 1

fprintf('\n利用内点法:\n')

fprintf('当x取(%3f, %3f)时,目标函数取最小值:%3f\n',

x(1), x(2), fval);

else

fprintf('\n未找到最优解!\n');

endfunction f = net_fun(x)

f = x(1)^2 + x(2)^2;

matlab最优化程序包括

无约束一维极值问题 进退法 黄金分割法 斐波那契法 牛顿法基本牛顿法 全局牛顿法 割线法 抛物线法 三次插值法 可接受搜索法 Goidstein法 WolfePowell法

单纯形搜索法 Powell法 最速下降法 共轭梯度法 牛顿法 修正牛顿法 拟牛顿法 信赖域法 显式最速下降法, Rosen梯度投影法 罚函数法 外点罚函数法

内点罚函数法 混合罚函数法 乘子法 G-N法 修正G-N法 L-M法 线性规划 单纯形法 修正单纯形法 大M法 变量有界单纯形法 整数规划 割平面法 分支定界法 0-1规划 二次规划

拉格朗曰法 起作用集算法 路径跟踪法 粒子群优化算法 基本粒子群算法 带压缩因子的粒子群算法 权重改进的粒子群算法 线性递减权重法 自适应权重法 随机权重法

变学习因子的粒子群算法 同步变化的学习因子 异步变化的学习因子 二阶粒子群算法 二阶振荡粒子群算法

p(x,q)=f(x)+qs(x)其中,p(x,q)称为惩罚函数qs(x)为惩罚项,其中q为惩罚因子,是极限为∞的数列在外点罚函数的求解过程中,需要用到无约束极值的优化方法,由于无法直接得到目标函数的导数,这里采用修正的Powell方法来计算无约束问题

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/12182165.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存