服务热线:13988889999

站内公告:

诚信为本:市场永远在变,诚信永远不变。
最优化模型入门

你的位置: 首页 > 杏福新闻

最优化模型入门

2024-09-09 13:03:51  点击量:

  • 最优化方法概念:求解一元或多元函数的极小值或最小值的计算方法(目标:求解方程最优的待定参数)
  • 解决最优化问题的方法:①确定性算法。②随机性算法。

1.引例:

  • 前提:所给的两个变量 x、y 数据隐含变量的一种确定性关系 y=f(x,\\alpha_1,\\alpha_2,...,\\alpha_n)
  • 目的:希望通过求解参数 \\forall i,\\alpha_i 确定最优的函数关系。
  • 优化:近似偏差最小,即需要选择一条曲线使其尽可能多地穿过图形中的点,而数学上表示,就是 min\\sum_{1≤i≤t(t为数据量)}(y_i-f(x,\\alpha_{bests})) ,即转化为求解一元函数 f(x) 的极小值的方法:求所有驻点+不可导点;判断是否为极值;求极小值
  • 缺点:过程繁琐不易实现,运行时间偏长,若目标函数过于复杂还可能得不到正确的结果。


  • 最优化数学模型例子:①下料问题。②运输问题。(线性规划也是一种最优化的例子)
  • 最优化数学模型表示min(max)f(X)\\\\ s.t. h_i(X)=0,i=1,...,m.\\\\g_j(X)≥0,j=1,...,n

其中 f(X) 称为目标函数, X=(x_1,...,x_n)^Ts.t.==subject\\ to受限于 等式约束和不等式约束。

2.迭代下降算法

迭代下降准则(框架算法):

1)给出目标函数的初始迭代点 X_0

2)按一定规则产生 X_k 处的一个下降方向 P_k

3)再沿方向 P_k 搜索得到下一个迭代点 X_{k+1} ,使得 f(X_{k+1})<f(X_k)

4)若满足停机条件,则终止迭代并输出 X_k ,否则转步骤2)

注意:

a.在适当的假设下一般可以说明算法能在有限步之内找到最优解或得到一个收敛到最优解的迭代点列。

1.函数:fminbnd

即求

min_{x_1≤x≤x_2}f(x)

  • 特点:求数值解,过程简洁容易实现单要确定搜索区间。
  • 注意:有时变换函数的表示形式,极坐标方程/参数方程在确定区间时有一定优势。

2.函数fminsearch和fminunc

min_{X∈R^n}f(x)

  • 区别:
  • fminsearch采用了基于免导数算法,适用范围更广,但处理问题规模较小,求解素服较慢。
  • fminunc采用了基于导数的算法,若可以提供导数信息,求解更高效

3.线性规划linprog

minC^TX\\\\S.T.AX≤b\\\\A_{eq}X=b_{eq}\\\\L_b≤X≤U_b

这里 X 向量为决策变量; C 为目标函数系数;其余为不等式、等式条件约束的系数、向量。 L、U 为决策变量的下边界和上边界。

\\rightarrow 混合整数线性规划intlinprog,添加限制条件: x_i∈\\mathbb{Z},i∈I,I=\\{1≤i≤n|x_i∈\\mathbb{Z}\\}

4.非线性规划fmincon

minf(X)\\\\S.T.AX≤b\\\\A_{eq}X=b_{eq}\\\\C(X)≤0\\\\C_{eq}(X)=0\\\\L_b≤X≤U_b

C(X)≤0,C_{eq}(X)=0 表示非线性不等式、等式约束, f(X) 表示非线性目标函数。

编程思路:

  1. 首先建立M文件定义优化目标函数 function f=fun(X)
  2. 然后建立M文件定义非线性约束条件function[C,Ceq]=nonlcon(X)
  3. 建立主程序,调用上述两个函数代入fmincon




待续。

附:

Matlab优化工具箱:

%命令                    %           算法                          %       问题
fminbnd()                %黄金分割法,抛物线插值法                 求单变量无约束最优化
[xmin,ymin]=fminbnd(fun,x1,x2);%fun是目标函数,x是搜索区间,xminymin分别是极小点,极小值
fminsearch()             %基于免导数的算法:Nelder-Mead单纯形方法  求多变量无约束最优化
fminunc()                %基于导数的算法:拟牛顿方法,信赖域方法   求多变量无约束最优化
[Xmin,Fmin]=fminsearch(FUN,X0);
[Xmin,Fmin]=fminunc(FUN,X0);
linprog()                %内点法、(对偶)单纯形法、有效集法         求线性规划问题
intlinprog()             %分支定界法                               求解混合整数线性规划问题
[Xmin,Fmin]=linprog(C,A,b,Aeq,beq,Lb,Ub)如果条件无则用空矩阵代替
[Xmin,Fmin]=intlinprog(C,I,A,b,Aeq,beq,Lb,Ub)如果条件无则用空矩阵代替
fmincon()                %信赖域法、有效集法、内点法、序列二次规划 求多变量有约束最优化
[Xmin,Fmin]=fmincon(fun,X0,A,b,Aeq,Beq,Lb,Ub,nonlcon)%nonlcon是针对非线性约束编写的函数文件名
ga()                     %遗传算法                                 求困难复杂多态最优化的最优解
partideswarm()           %粒子群优化                               求困难复杂多态最优化的最优解
simulannealbnd()         %模拟退火                                 求困难复杂多态最优化的最优解

首页 |杏福介绍 |杏福展示 |杏福新闻 |杏福注册 |杏福登录 |杏福平台 |杏福APP下载 |杏福代理加盟 |联系我们

13988889999

Copyright © 2012-2018 首页-杏福娱乐-杏福商务站

地址:海南省海口市玉沙路58号电话:0898-88889999手机:13988889999

ICP备案编号:琼ICP备88889999号

微信扫一扫

微信扫一扫

>

平台注册入口