数学建模笔记

常用优化模型

数学建模笔记,部分内容参考B站数学建模老哥https://www.bilibili.com/video/BV1jg411U7et
文章作者:JWT

线性规划模型

  • 线性规划问题是在一组线性约束条件的限制下,求一线性目标函数最大或最小的问题线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于号也可以是大于号。为了避免这种形式多样性带来的不便,Matlab 中规定线性规划的标准形式为

  • 数学建模笔记_第1张图片

    其中 cxn列向量AAeq适当维数的矩阵bbeq适当维数的列向量

  • 常见案例
    数学建模笔记_第2张图片

非线性规划模型

数学建模笔记_第3张图片

多目标优化模型

线性规划的局限性只能解决一组线性约束条件下,某一目标只能是一个目标的最大或最小值的问题。实际决策中,衡量方案优劣考虑多个目标这些目标中,有主要的,也有次要的;有最大值的,也有最小值的;有定量的,也有定性的;有相互补充的,也有相互对立的,LP 则无能为力。

  • 传统求解思路

(1)加权系数法

为每一目标赋一个权系数,把多目标模型转化成单一目标的模型。但困难是要确定合理的权系数,以反映不同目标之间的重要程度。

(2)优先等级法

将各目标按其重要程度不同的优先等级,转化为单目标模型。

(3)有效解法

寻求能够照顾到各个目标,并使决策者感到满意的解。由决策者来确定选取哪一个解,即得到一个满意解。但有效解的数目太多而难以将其一一求出。

  • 进化算法(Evolutionary Algorithm, 简称EA)
  • 粒子群算法(Particle Swarm Optimization, PSO

整数规划

​ 规划中的变量(部分或全部)限制为整数时,称为整数规划。若在线性规划模型中,变量限制为整数,则称为整数线性规划。目前所流行的求解整数规划的方法,往往只适用于整数线性规划。目前还没有一种方法能有效地求解一切整数规划。

  • 求解方法

    • (i)分枝定界法—可求纯或混合整数线性规划。

    • (ii)割平面法—可求纯或混合整数线性规划。

    • (iii)隐枚举法—求解“0-1”整数规划:

      • ①过滤隐枚举法;

      • ②分枝隐枚举法。

    • (iv)匈牙利法—解决指派问题(“0-1”规划特殊情形)。

    • (v)蒙特卡洛法—求解各种类型规划。

  • 分支定界法(整数线性规划)

对有约束条件的最优化问题(其可行解为有限数)的所有可行解空间恰当地进行系统搜索,这就是分枝与定界内容。通常,把全部可行解空间反复地分割为越来越小的子集,称为分枝;并且对每个子集内的解集计算一个目标下界(对于最小值问题),这称为定界。在每次分枝后,凡是界限超出已知可行解集目标值的那些子集不再进一步分枝,这样,许多子集可不予考虑,这称剪枝。分枝定界法可用于解纯整数或混合的整数规划问题,这就是分枝定界法的主要思路。应用于求解生产进度问题、旅行推销员问题、工厂选址问题、背包问题及分配问题等

  • 过滤隐枚举法(0-1整数规划)
    数学建模笔记_第4张图片

  • 蒙特卡洛法(随机取样法)

对于非线性整数规划目前尚未有一种成熟而准确的求解方法,因为非线性规划本身的通用有效解法尚未找到,更何况是非线性整数规划。然而,尽管整数规划由于限制变量为整数而增加了难度;然而又由于整数解是有限个,于是为枚举法提供了方便。当然,当自变量维数很大和取值范围很宽情况下,企图用显枚举法(即穷举法)计算出最优值是不现实的,但是应用概率理论可以证明,在一定的计算量的情况下,完全可以得出一个满意解。

动态规划问题

动态规划问世以来,在经济管理、生产调度、工程技术和最优控制等方面得到了广泛的应用。例如最短路线、库存管理、资源分配、设备更新、排序、装载等问题,用动态规划方法比用其它方法求解更为方便。虽然动态规划主要用于求解以时间划分阶段的动态过程的优化问题,但是一些与时间无关的静态规划(如线性规划、非线性规划),只要人为地引进时间因素,把它视为多阶段决策过程,也可以用动态规划方法方便地求解

无约束优化问题

常用的三种方法:https://blog.csdn.net/tangshishe/article/details/116670314

现代优化算法

它们有一个共同的目标-求 NP-hard 组合优化问题的全局最优解。虽然有这些目标,但 NP-hard 理论限制它们只能以启发式的算法去求解实际问题。现代优化算法解决组合优化问题,如 TSP(Traveling Salesman Problem)问题,QAP(Quadratic Assignment Problem)问题,JSP(Job-shop Scheduling Problem)问题等效果很好。

  • 模拟退火算法
  • 遗传算法
  • 禁忌搜索算法
  • 蚁群算法
  • 人工神经网络

数学建模常见赛题建模步骤

评价类赛题

  • 选择合适的评价指标
    • 系统分析法
    • 同向化处理
    • 指标无量纲化(0~1)
  • 确定各指标的权重
    • 主观定权 ---------层次分析法
    • 客观定权----------主成分分析法 熵权法
  • 评价合成最终结果
    • 相关系数法
    • 算术平均法
    • 几何平均法

选择合适的评价算法

首先先确定题目属于评价类问题

  • 数据量较小,评价指标较少:层次分析法(AHP)
  • 数据量较小,样板数据具有时间序列特性:灰色关联分析法
  • 指标相对较多,各指标之间保持独立:TOPSIS综合评价算法
  • 经济学领域多因素,多层次的复杂问题:模糊综合评价法
  • 评价新颖问题,传统方法很难获得指标权重(相关性低):神经网络算法
  • 多种投入和多种产出类的评价问题,经济学问题:数据包络法(DEA)

预测类问题

  • 确定预测目的
  • 搜索和审核资料
  • 选择预测模型和方法
    • 数据建模(无法用数学语言刻画其内部演化机理
    • 机理建模(可以通过微分方程刻画其内部规律
  • 分析预测误差,改进预测模型
  • 得出最终预测结果

选择合适的预测算法

  • 数据量较少,进行中短期预测(预测范围为原始数据的20%左右):灰色预测模型
  • 预测变量随时间变化,进行中长期预测:时间序列预测模型
  • 自变量和因变量之间有逻辑相关性:回归分析预测模型
  • 系统未来时刻的情况只与现在有关,与过去无关:马尔科夫预测模型
  • 题目给出的数据量较大时:决策树与集成学习
  • 数据量较大,自变量维度较高时:神经网络预测模型

优化类赛题

  • 确定优化目的
  • 确定决策变量,也就是需要优化的变量
    • 整数规划
    • 0-1规划
  • 确定目标函数,也就是优化的目的
  • 最后确定约束条件,决策变量在达到最优状态时,受到哪些客观限制
    • 线性规划
    • 非线性规划
    • 多目标规划
    • 动态规划
  • 给出最终优化结果

选择合适的优化算法

首先确定题目为优化类问题、

  • 模型建立
    • 目标函数和约束条件均为线性:线性规划模型
    • 决策变量取值被限制为整数或0,1:整数规划或0-1规划
    • 以时间为划分阶段的动态过程优化问题:动态规划模型
    • 目标函数或约束条件中包括非线性函数:非线性规划问题
    • 目标函数不唯一,同时存在多个目标函数:多目标规划模型
  • 模型求解
    • 基于梯度的求解算法(凸优化)
      • 最速下降法
      • 随机梯度下降法
      • 动量梯度下降法
      • 拟牛顿法
    • 智能优化算法(非凸优化)
      • 粒子群算法
      • 模拟退火算法
      • 遗传算法

你可能感兴趣的:(数学建模,matlab,算法,机器学习)