数学模型系列-优化模型(二)非线性规划

目录

1 模型含义

2 模型建立

3 模型例题与求解


        上章我们学习了线性规划模型,今天让我们来学习一下非线性规划吧!非线性规划在工程、管理、经济、科研、军事等方面都有广泛的应用,为最优设计提供了有力的工具。

1 模型含义

        非线性规划(nonlinear programming)具有非线性约束条件或目标函数的数学规划,是运筹学的一个重要分支。非线性规划研究一个n元实函数在一组等式或不等式的约束条件下的极值问题,且目标函数和约束条件至少有一个是未知量的非线性函数。目标函数和约束条件都是线性函数的情形则属于线性规划。

数学模型系列-优化模型(二)非线性规划_第1张图片

        (1)确定供选方案: 首先要收集同问题有关的资料和数据,在全面熟悉问题的基础上,确认什么是问题的可供选择的方案,并用一组变量来表示它们;

        (2)提出追求目标:经过资料分析,根据实际需要和可能,提出要追求极小化或极大化的目标。并且,运用各种科学和技术原理,把它表示成数学关系式

        (3)给出价值标准:在提出要追求的目标之后,要确立所考虑目标的“好”或“坏”的价值标准,并用某种数量形式来描述它。

       ( 4)寻求极限条件:由于所追求的目标一般都要在一定条件下取得极小化或极大化效果,因此还需要寻找出问题的所有限制条件,这些条件通常用变量之间的一些不等式或等式来表示。

2 模型建立

        对实际规划问题作定量分析,必须建立数学模型。建立数学模型首先要选定适当的目标变量和决策变量,并建立起目标变量与决策变量之间的函数关系,称之为目标函数。然后将各种限制条件加以抽象,得出决策变量应满足的一些等式或不等式,称之为约束条件

        非线性规划问题三的一般数学模型可表述为求未知量 x1,x2,...,xn,使满足约束条件:

         并使目标函数f(x1,…,xn)达到最小值(或最大值)。其中f,gi和hj都是定义在n维向量空间Rn的某子集D(定义域)上的实值函数,且至少有一个是非线性函数。

        定义域D中满足约束条件的点称为问题的可行解全体可行解所成的集合称为问题的可行集。对于一个可行解x*,如果存在x*的一个邻域,使目标函数在x*处的值f(x*)优于(指不大于或不小于)该邻域中任何其他可行解处的函数值,则称x*为问题的局部最优解(简称局部解)。如果f(x*)优于一切可行解处的目标函数值,则称x*为问题的整体最优解(简称整体解)。实用非线性规划问题要求整体解,而现有解法大多只是求出局部解。

3 模型例题与求解

        MATLAB中非线性规划的数学模型可写成如下形式:

数学模型系列-优化模型(二)非线性规划_第2张图片

         式中c(x) ,ceq(x)为非线性向量函数。

         Matlab中的命令是:

[x,fval] = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)

        例:求解下面这个问题

数学模型系列-优化模型(二)非线性规划_第3张图片

         matlab代码如下:

function f = fun1(x);
f = sum(x.^2)+8;
function [g,h] = fun2(x);
g = [-x(1)^2+x(2)-x(3)^2
     x(1)+x(2)^2+x(3)^3-20]; %非线性不等式约束
h = [-x(1)-x(2)^2+2
     x(2)+2*x(3)^2-3]; %非线性等式约束
[x,y] = fmincon('fun1',rand(3,1),[],[],[],[],zeros(3,1),[],'fun2')

你可能感兴趣的:(数学建模,算法,动态规划,线性代数)