非线性优化的基本概念

定义:如果目标函数或约束条件中至少有一个是非线性函数时的最优化问题就叫做非线性规划问题。

一般形式

min f ( X )

gi( X ) ≥ 0 , i = 1,2,…,m;

hj( X ) ≥ 0 , j = 1,2,…,m;

其中 X = ( X1 , X2 ,…, Xn )T ∈ En ,f ,gi,hj 是定义在 En 上的实值函数。

其他情况:求目标函数的最大值或约束条件为小于等于零的情况,都可通过取其相反数化为上述一般形式。

解的定义

  1. 把满足问题一般形式中条件的解 X 称为可行解(或可行点),所有可行点的集合称为可行集(或可行域)记为 D ,即 D = { X | gi( X ) ≥ 0 , hj( X ) ≥ 0 , X ∈ En }
  2. 设 X* ∈ D ,若存在 σ>0 ,使得对一切 X∈ D 且 || X - X* ||<σ,都有 f ( X* ) < f ( X ),则 X* 是 f ( X ) 在D上的局部极小值点(局部最优解)。特别地当 X ≠ X* 时,若 f ( X* ) < f ( X ) ,则称X*是 f ( X ) 在D上的严格局部极小值点(严格局部最优解)。
  3. 设 X* ∈ D ,对任意的 X ∈ D ,都有 f ( X* ) < f ( X ) ,则称X是f(X)在D上的全局极小值点(全局最优解)。特别地当 X ≠ X* 时,若 f ( X* ) < f ( X ) ,则称X是 f ( X ) 在D上的严格全局极小值点(严格全局最优解)。

非线性优化的基本解法

罚函数法

罚函数法基本思想是通过构造罚函数把约束问题转化为一系列无约束最优化问题,进而用无约束最优化方法去求解.这类方法称为序列无约束最小化方法.简称为SUMT法.

  1. SUMT外点法

对于一般的非线性规划,可设:T ( X , M ) = f ( X ) + M ∑ [ min ( 0 , gi ( X ) ) ]2 + M ∑ [ hj ( X ) ]2,即将非线性优化问题转化为无约束问题 min T ( X , M )。

其中 T ( X , M ) 称为罚函数,M 称为罚因子,带 M 的项称为罚项,这里的罚函数只对不满足约束条件的点实行惩罚:当 X ∈ D 时,满足各 gi( X ) ≥ 0 , hj( X ) ≥ 0 ,故罚项 = 0,不受惩罚。当 X ∉ D 时,必有 的约束条件,故罚项 > 0,要受惩罚。

罚函数法的缺点是:每个近似最优解 Xk 往往不是容许解,而只能近似满足约束,在实际问题中这种结果可能不能使用;在解一系列无约束问题中,计算量太大,特别是随着 Mk 的增大,可能导致错误.

  1. SUMT内点法

设集合D0 = { X | gi ( X ) >0 , i = 1,2,…,m } ≠ 空集,D0 是可行域内所有严格内点的集合。

构造障碍函数 I ( X , r ) = f ( X ) + r∑ lngi ( X ) ,其中 r∑ lngi ( X ) 为障碍项,r 为障碍因子,这样问题就转化成一系列求极值问题。

近似规划法

近似规划法的基本思想:将目标函数和约束条件近似为线性函数,并对变量的取值范围加以限制,从而得到一个近似线性规划问题,再用单纯形法求解之,把其符合原始条件的最优解作为解的近似.每得到一个近似解后,都从这点出发,重复以上步骤,这样,通过求解一系列线性规划问题,产生一个由线性规划最优解组成的序列,经验表明,这样的序列往往收敛于非线性规划问题的解。

算法步骤

  1. 给定初始可行点 X1 = { x11,x21,…,xn1},步长限制 σj1 ( j = 1,…,n ),步长缩小系数 β ∈ ( 0 , 1 ),允许误差 ε ,令k=1;

  2. 在点 Xk 处,将 f ( X ),gi( X ),hj( X ) 按泰勒级数展开并取一阶近似,得到近似线性规划问题:
    min f ( X ) ≈ f ( Xk ) + ▽ f ( Xk )T ( X - Xk )
    gi( X ) ≈ gi ( Xk ) + ▽ gi ( Xk )T ( X - Xk ) ≥ 0
    hj( X ) ≈ hj ( Xk ) + ▽ hj ( Xk )T ( X - Xk ) = 0

  3. 在上述近似线性规划问题的基础上增加一组限制步长的线性约束条件。因为线性近似通常只在展开点附近近似程度较高,故需要对变量的取值范围加以限制,所增加的约束条件是:| xj - xjk | ≤ σjk
    求解该线性规划问题,得到最优解 ;

  4. 检验 Xk+1 点对原约束是否可行。若对原约束可行,则转步骤5;否则,缩小步长限制,令 σjk = β σjk ,返回步骤3,重解当前的线性规划问题。

  5. 判断精度:若 | σjk | < ε,则点 Xk+1 为近似最优解;否则,令 σjk+1 = σjk ,k=k+1,返回步骤2。

MATLAB解非线性优化问题

二次规划

标准型为:
min Z = 1/2XTHX + CT X
AX ≤ b,Aeq * X = beq,VLB ≤ X ≤VUB

常用格式如下:

   1.    x = quadprog ( H, C, A, b);2.  x = quadprog ( H, C, A, b, Aeq, beq);3.    x = quadprog ( H, C, A, b, Aeq, beq, VLB, VUB);4.  x = quadprog ( H, C, A, b, Aeq, beq, VLB, VUB, X0);5.  x = quadprog ( H, C, A, b, Aeq, beq, VLB, VUB, X0, options);6. [x, fval] = quadprog (...) ;7. [x, fval, exitflag] = quadprog (...);8.    [x, fval, exitflag, output] = quadprog (...);
一般非线性规划

标准型为:
min F ( X )
AX ≤ b,Aeq * X = beq,G (X) ≤ 0,Ceq ( X )= 0,VLB ≤ X ≤VUB

首先建立M文件fun.m,定义目标函数 F (X) ,若约束条件中有非线性约束:G(X) 或 Ceq ( X ) = 0,则建立M文件nonlcon.m定义函数 G (X ) 与 Ceq ( X )。

常用格式如下:

   1.  x = fmincon ( ‘fun’, X0, A, b)2.  x = fmincon ( ‘fun’, X0, A, b, Aeq, beq)3.  x = fmincon ( ‘fun’, X0, A, b, Aeq, beq, VLB, VUB)4.  x = fmincon ( ‘fun’, X0, A, b, Aeq, beq, VLB, VUB, ’nonlcon’)5.  x = fmincon ( ‘fun’, X0, A, b, Aeq, beq, VLB, VUB, ’nonlcon’, options)   6.  [x, fval] = fmincon(...)7.  [x, fval, exitflag] = fmincon(...)8.  [x, fval, exitflag, output] = fmincon(...)
  1. fmincon函数提供了大型优化算法和中型优化算法。默认时,若在fun函数中提供了梯度(options参数的GradObj设置为’on’),并且只有上下界存在或只有等式约束,fmincon函数将选择大型算法。当既有等式约束又有梯度约束时,使用中型算法。
  2. fmincon函数的中型算法使用的是序列二次规划法。在每一步迭代中求解二次规划子问题,并用BFGS法更新拉格朗日Hessian矩阵。
  3. fmincon函数可能会给出局部最优解,这与初值X0的选取有关。

数学建模-非线性优化模型相关推荐

  1. 数学建模——支持向量机模型详解Python代码

    数学建模--支持向量机模型详解Python代码 from numpy import * import random import matplotlib.pyplot as plt import num ...

  2. 数学建模——线性规划模型详解Python代码

    数学建模--线性规划模型详解Python代码 标准形式为: min z=2X1+3X2+x s.t x1+4x2+2x3>=8 3x1+2x2>=6 x1,x2,x3>=0 上述线性 ...

  3. 数学建模传染病模型_数学建模| 时间序列模型

    1 数学建模 时间序列模型 1.与实践有关系的一组数据,叫做时间序列: 2.得到时间序列的数据后,要构建模型,其中平稳时间序列的模型,是本节课重点介绍的: 3.y=at+季节性+周期性 一.     ...

  4. 数学建模常用模型04:灰色关联分析法

    数学建模常用模型04:灰色关联分析法 灰色关联分析法 本文所用的资料参考来源:美赛资料网:美赛资料网 与灰色预测模型一样,比赛不能优先使用,灰色关联往往可以与层次分析结合使用.层次分析用在确定权重上面 ...

  5. 数学建模常用模型(一):灰色预测法

    数学建模常用模型(一):灰色预测法 灰色预测法是一种用于处理少量数据.数据质量较差或者缺乏历史数据的预测方法.它适用于一些非线性.非平稳的系统,尤其在短期预测和趋势分析方面有着广泛的应用.灰色预测法作 ...

  6. 数学建模常见模型总结

    数学建模常见模型总结 一.插值 当已有数据量不够,需要补充,且认定已有数据可信时,通常利用函数插值方法. 常用插值方法 拉格朗日插值 分段线性插值 Hermite 三次样条插值 克里金法 matlab ...

  7. 数学建模优化模型简单例题_数学建模之优化模型:存储模型

    点击上方「蓝字」关注我们 最近,为申报市级精品课程,我为我校"数学建模与科学计算"课程录制了讲课视频,下面是3.1节优化模型的第一个例子:存储模型.敬请大家批评指正! 优化模型是数 ...

  8. MATLAB数学建模-规划模型总结| MATLAB求解

    目录 1 线性规划问题(LP) 风格1 风格2 2 非线性规划 3 动态规划 A星算法 基于dijkstra的概率路线图 4 多目标规划 帕累托最优 支配(Dominace) 不可支配解集 帕累托最优 ...

  9. 【数学建模常用模型】图论专题

    图论是研究点.线间关系的一门学科.现实生活中,凡是涉及到事物间的关系,都可以抽象为图论模型.图论模型也是各大数学建模中常见的一种模型,主要用于计算.规划最短距离.路线等问题.下面介绍几个基本概念和算法 ...

  10. 数学建模优化模型简单例题_数学建模中简单的优化模型

    本文介绍较简单的优化模型,归结微积分中函数的机制问题,可以直接用微分法求解. 1. 存贮模型 工厂订购原料,出售商品,都需要确定贮存量. 1.1不允许缺货的存贮模型 经济批量订货公式(EOQ公式) 用 ...

最新文章

  1. Vim之代码异步检测插件 ALE -- 实时检查verilog等代码的正确性
  2. 整理的常用JAVA开源库简介
  3. 为什么一些手机厂商要砍掉呼吸灯?
  4. python函数测试_Python测试函数的方法之一
  5. (转自dflying chen)使用Anthem.NET 1.5中的FileUpload控件实现Ajax方式的文件上传
  6. Multipart生成的临时文件
  7. 部分转 Java读取ini配置
  8. linux的打包压缩文件,linux打包文件,压缩文件
  9. java号码池_Java常量池详解
  10. 此计算机上未安装sql2000,Windows10系统安装sql2000没有反应如何解决
  11. STM32 HAL库 时钟芯片RX8025T IIC的读写操作,入过的坑
  12. jsPlumb 学习笔记(1)(api部分翻译)
  13. 实践出真知-神经网路篇-多任务学习
  14. FIL筑底完成,现在布局FIL不容忽视
  15. Problem B: 小度挑战赛
  16. Android 图片压缩技术
  17. react-router v6
  18. CSDN每日打卡已经2周,进展如何?(送两个CSDN背包)
  19. 基于51单片机的智能窗户烟雾浓度雨滴检测无线wifi控制系统proteus仿真原理图PCB
  20. 重新指定iphone备份目录

热门文章

  1. Pandas常用操作方法
  2. 增强旋转不变LBP算法及其在图像检索中的应用
  3. linux shell学习指南,shell脚本学习指南(shell脚本教程详细讲解) 电子扫描版
  4. 《疯狂的站长》读后感3
  5. kaggle数据集下载
  6. Java下载文件,中文文件名乱码问题解决
  7. HTML5期末大作业:学校网站设计——初级中学网站(16页)HTML+CSS+JavaScript 学校网页设计作业 网页设计作业 学生个人设计成品,网页设计作业
  8. 关于移动端video-player点击播放自动全屏
  9. Win10安装动易5.9故障记录
  10. php100视频教程html,PHP100视频教程48:Ajax+PHP快速上手及应用