数学规划模型

目录

数学规划概述

一般数学形式

分类

线性规划

完整数学模型

MATLAB求解

非线性规划

完整数学模型 

MATLAB求解

整数规划

最大最小化

完整数学模型

MATLAB求解

多目标规划

完整数学模型


数学规划概述

数学规划是运筹学的一个分支,其研究目的在给定的条件下(称为约束条件),按照某一衡量指标(称为目标函数)来寻求计划、管理工作中的最优方案(称为最优解)。

规划问题又被认为是求解目标函数在一定约束条件下的极值问题。

一般数学形式

目标函数z=f(x)

约束条件g_i(x)\leq0,下标i表示第i各约束条件

x称为决策变量

分类

按照目标函数,约束条件以及决策变量,规划问题可以分为

  • 线性规划,目标函数和约束条件都是决策变量的线性表达式
  • 非线性规划,目标函数和约束条件含有决策变量的非线性表达式
  • 整数规划,约束条件中限制某些或全部决策变量为整数,有线性整数规划模型和非线性证书规划模型之分
  • 0-1规划,约束条件中限制某些或全部决策变量为0或1,可看作特殊的整数规划模型
  • 多目标规划问题,目标函数不止一个,通常没有绝对的最优解,只有满意解

线性规划

线性规划是指数学规划模型中的目标函数,约束条件全部为严格的线性表达式,并且对决策变量是否为整数没有限制

完整数学模型

  • 目标函数min\quad z=f(x)=C^Tx,其中C,x为同一维度的列向量。
  • 约束条件s.t.\left\{\begin{matrix} Ax\leq b\\A_{eq}x\leq b_{eq} \\ lb\leq x\leq ub \end{matrix}\right.,第一个式子称为不等式约束,第二个不等式称为等式约束,第三个不等式称为上下界约束

如果是求取目标函数的最大值,可以对目标函数取负,求其最小值的最优解,也即是原来的目标函数的最优解

MATLAB求解

[x,fval]=linprog(C,A,b,Aeq,beq,lb,ub,x0);
% x0表示迭代求解的初始值,但可以不给
% 
% 若不存在不等式约束,则令A=[],b=[]
% 
% 若不存在等式约束,则灵Aeq=[],beq=[]
% 
% 若第i个决策变量没有上界或下界,则灵lb(i)=-inf或ub(i)=+inf
% 
% 返回值x表示目标函数取最小值时x的取值
% 
% fval表示目标函数取得的最小值

非线性规划

完整数学模型 

  • 目标函数min \quad f(x)
  • 约束条件\left\{\begin{matrix} Ax\leq b, Aeqx=beq(linear\,constraints)) \\ C(x)\leq 0, Ceq(x)=0(nonlinear\,constraints) \\ lb\leq x\leq ub \end{matrix}\right.

MATLAB求解

[x,fval]=fmincon(@fun,x0,A,b,Aeq,beq,lb,ub,@nonlfun,option)
%非线性规划的算法求解出来的是一个局部最优解,故非线性规划中对于初始值x0的选取非常重要
%如果需要求解全局最优解,有两种思路:
%①给定不同的初始值,在里面找到一个最优解‘
%②先用蒙特卡洛模拟,得到一个蒙特卡洛解,然后用这个解作为迭代初值x0
%option选项可以给定求解的算法,有四种可选择,'interior-point(内点法)','sqp(序列二次规划%法)','active-set(有效集法)','trust-region-reflective(信赖域反射算法)'
%@fun表示目标函数,要编写一个独立的m文件,存储目标函数

整数规划

MATLAB求解

[x,fval]=intlinprog(C,intcon,A,b,Aeq,beq,lb,ub);
%intcon参数表示决策变量中哪些限制为整数
%其余参数与线性规划求解器linprog的参数相同

最大最小化

完整数学模型

目标函数min\{max\[f_1(x),f_2(x),...,f_m(x) \]\}

约束条件s.t.\left\{\begin{matrix} Ax\leq b\\ Aeqx = beq\\ C(x)\leq 0\\ Ceq(x)=0\\ VLB\leq x\leq VUB\ \end{matrix}\right.

MATLAB求解

[x,fval]=fminimax(@Fun,x0,A,b,Aeq,beq,lb,ub,@nonlfun,option)
% 大写@Fun表示该参数与fmincon的@fun有所不同
% @Fun参数表示目标函数用一个函数向量表示
% 即
% f=zeros(m,1)
% f(1)=...
% f(2)=...
% 返回值x为决策变量的取值
% 返回值fval为目标函数向量的极小最优解

多目标规划

完整数学模型

目标函数z=\left\{\begin{matrix} min\,f_1(x)\\ min\,f_2(x) \end{matrix}\right.

约束条件\left\{\begin{matrix} Ax\leq beq \\ Aeqx\leq beq\\ C(x)\leq 0\\ Ceq(x)=0\\ LVB\leq x\leq LUB \end{matrix}\right.

对目标函数进行加权后转化为一个目标函数,即可用常规的规划求解

根据目标函数之间的权重系数,对权重系数进行敏感性分析,即更改权重,观察规划结果。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

今天美美吃饭啦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值