十一、运筹优化模型

发布时间:2024-11

浏览量:118

本文字数:906

读完约 4 分钟

    运筹学是一种科学的决策方法,主要包含线性规划、整数规划和二次规划这3类问题。

    它通常是在需要分配稀缺资源的条件下,寻求系统的最佳设计。

    科学的决策方法需要使用一个或多个数学模型(优化模型)来做出最优决策。

    优化模型就是在给定约束的情况下,遍历决策变量的所有取值,找到优化(最大化或最小化)目标函数的决策变量的值。

优化模型主要由以下3个部分组成:

(1)目标函数:要优化的函数(最大化或最小化)。

(2)决策变量:影响系统性能的可控变量。

(3)约束:决策变量的一组约束(线性不等式或等式),非负性约束限制了决策变量取正值。

应按照以下步骤进行建模:

(1)问题定义:定义项目的范围,并确定3个要素,分别是决策变量、目标函数和限制条件(约束)。

(2)模型构建:将问题定义转换为数学关系。

(3)模型求解:使用标准优化算法。在获得解后,需要进行灵敏度分析,以找出由于某些参数的变化而出现的解的原因。

(4)模型有效性:检查模型是否按预期工作。

(5)实现:将模型和结果转换为解决方案。

一、线性规划

    线性规划(Linear Programming, LP)是一种运筹学技术,是运筹学中研究较早、应用广泛、方法较成熟的一个重要分支。它是辅助人们进行科学管理的一种数学方法,是研究线性约束条件下线性目标函数的极值问题的数学理论和方法。

    当所有的目标和约束都是线性的(在变量中),并且当所有的决策变量都连续时使用,线性规划是最简单的运筹学方法。

    Python的SciPy库包含用于解决线性编程问题的linprog函数。

在使用linprog函数时,编写代码要考虑两个事项。

(1)这个问题必须表述为一个最小化问题。

(2)不等式必须表示为≤的形式。

1、最小化问题


二、整数规划

    整数规划是指要求问题中的全部或一部分变量转换为整数的数学规划问题。整数规划与线性规划十分相似,最大的区别就是整数规划的自变量取值要求必须为整数,在实际生活中具有十分广泛应用。


三、二次规划

    非线性规划在生活中是十分常见的,因为因变量和自变量之间不全是线性关系,还有非线性的关系。

    二次型(Quadratic Form):n个变量的二次多项式被称为二次型,即在一个多项式中,未知数的个数为任意多个,但每一项的次数都为2的多项式。




^