数学规划是优化问题建模的第一步,也是最为重要的一步,它界定了问题的类型和求解难度。
正确建立优化问题的数学规划模型,必须做到充分理解问题本身。
此外,应该
- 选择最佳的决策变量。
- 确定合适的目标函数(可能不止一个)。
- 根据问题的要求写出所有的约束条件。
建立数学规划后,还需判定其类型。
最后,利用软件或设计算法求解数学规划。
一般线性规划的特点是约束条件可以用一组线性不等式或线性等式表示,目标函数为决策变量的线性函数,根据问题的不同,要求目标函数实现最大化或最小化。
满足以上条件的数学模型成为线性规划问题的数学模型。
一般标准形式为:
c称为价值向量、A称为约束矩阵、x称为决策变量向量,b称为右端向量
那么,如何将线性规划问题转化为标准形式?
数学规划的分类
LP(线性规划)、ILP(整数线性规划)、0-1整数规划是三种典型的数学规划。
MILP(混合整数规划):目标或约束均为线性函数、决策变量既有整数又有非整数的数学规划。
NLP(非线性规划):目标函数或约束条件中含有非线性函数的数学规划。
其中,决策变量取整数的非线性规划称为非线性整数规划。
二次规划,属于非线性规划,但目标函数多为二次多项式函数,约束条件为线性多项式。
注:
整数规划的计算复杂度(计算机计算工作量)远远超过同规模的线性规划。
线性目标、非线性约束模型通常比非线性目标函数、线性约束模型更难计算
建模时应尽可能将目标、约束写成线性形式。
例如:
- 假设0-1决策变量