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方法来计算无约束问题
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)