数学建模【规划模型–线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型–线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】4.1数学规划介绍1、数学规划模型的定义2、数学规划模型2.1、企业生产计划3、例1加工奶制品的生产计划3.1、整数规划(IntegerProgramming,简记IP)4、0-1规划模型选课策略5、非线性规划模型5.1、非线性规划5.2、基本概念5.3、算法概述5.4、MATLAB软件求解4.2奶制品的生产和销售1、优化模型和优化软件的重要意义2、优化(Optimization),规划(Programming)3、优化问题的一般形式

大家好,又见面了,我是你们的朋友全栈君。

?【MOOC数学建模与实验—学习笔记—整理汇总表】?

?【学习网址:MOOC—郑州轻工业大学—数学建模与实验】?

目   录

4.1 数学规划介绍

1、数学规划模型的定义

2、数学规划模型

2.1、企业生产计划

3、例1 加工奶制品的生产计划

3.1、整数规划(Integer Programming,简记IP)

4、0-1规划模型 选课策略

5、非线性规划模型

5.1、非线性规划

5.2、基本概念

5.3、算法概述

5.4、MATLAB软件求解

4.2 奶制品的生产和销售

1、优化模型和优化软件的重要意义

2、优化(Optimization),规划(Programming)

3、优化问题的一般形式

4、无约束优化:最优解的分类和条件

5、LINGO需要掌握的几个重要方面

6、例1 加工奶制品的生产计划

6.1、模型求解

6.2、结果解释

7、LINGO模型的构成:5个段

8、例1:选址问题

选址问题:NLP

Lingo模型的集合求解

6发点8收点运输模型

4.3 整数规划(4.3 汽车生产与原油采购)(例1 汽车厂生产计划)

问题1:制定月生产计划,使工厂的利润最大.

1、模型建立

2、模型求解

问题2:生产某类汽车,至少生产80辆,求生产计划.

方法1:分解为8个LP子模型

方法2:引入0-1变量,化为整数规划

方法3:化为非线性规划

汽车厂生产计划—分析总结

4.4 0-1规划

选课策略

销售代理的开发与中断

问题1的建模

问题1的求解

问题2的建模

问题2的求解

4.5 非线性规划

引例 组合投资

引例 投资选择问题

基本概念

算法概述

MATLAB软件求解

1.函数fminunc、 fminsearch的具体用法

2.函数fmincon的具体用法


4.1 数学规划介绍

数学规划:线性规划、非线性规划、连续规划、整部规划、动态规划…

数学规划:线性规划【整数线性规划(全整数线性规划、部分整数线性规划)、0-1规划】、非线性规划

1、数学规划模型的定义

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

目标函数:z=f(x)       x:n维列向量     x1、x2…xn:决策变量

gi(x) ≤ 0 :约束条件

2、数学规划模型

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

需要对模型进行计算、分析

2.1、企业生产计划

                                                                 空间层次

工厂级:根据外部需求和内部设备、人力、原料等条件,以最大利润为目标制订产品生产计划;

车间级:根据生产计划、工艺流程、资源约束及费用参数等,以最小成本为目标制订生产批量计划.

                                                                 时间层次

若短时间内外部需求和内部资源等不随时间变化,可制订单阶段生产计划,否则应制订多阶段生产计划.

非线性规划问题:无约束   二分法、牛顿迭代法、计数向量法

针对不同的问题,要采用不同的方法。

3、例1 加工奶制品的生产计划

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

灵敏度分析

影子价格(shadow price),又称 最优计划价格 或 计算价格。它是指依据一定原则确定的,能够反映投入物和产出物真实经济价值、反映市场供求状况、反映资源稀缺程度、使资源得到合理配置的价格。影子价格反映了社会经济处于某种最优状态下的资源稀缺程度和对最终产品的需求情况,有利于资源的最优配置。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

Lingo:默认所有变量 ≥ 0;如果变量取负,需要声明【  @free(变量)  】

3.1、整数规划(Integer Programming,简记IP)

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

整数线性规划问题

@gin(x1):@指向,x1取整数。

Lingo:<、≤ 作用相同!

280*x1:称号* 不能省略,省略的话 280×1 -> 变量名。

4、0-1规划模型 选课策略

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

0-1规划模型:对 问题决策、选择,有着很大的作用。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

3个 约束条件 !!!

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

选修3号课程的前提是:已学1号、2号课程。

∴ x3 ≤ x1,x3 ≤ x2      两式相加,2*x3 ≤ x1 + x2

移项得:2*x3 – x1 – x2 ≤ 0

与此类似:x4 ≤ x7,x4 – x7 ≤ 0

得到 6个 约束条件。

一共9个约束条件。拉格朗日法求解,较为麻烦 –> Lingo   @gin(x1…x9):x1…x9取整数

5、非线性规划模型

5.1、非线性规划

只要 目标函数、约束条件,有一个是非线性的,这个问题 就是 非线性规划。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

xj 取 0:表示不投资这个项目。

xj 取 1:表示    投资这个项目。

5.2、基本概念

L:下界;   U:上界

f(x)、g(x)、h(x) 只要有一个是非线性的,问题就是一个非线性规划问题。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

非线性规划问题:有一部分,可以用Lingo求解。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

非线性规划问题:无约束(没有条件限制)、约束   两种。

无约束:决策变量无条件限制  x∈R^{n}

对于无约束问题的求解方法:一般构造 迭代数列。编写迭代程序,求f(x)最小值。

牛顿迭代法(常用)、最速下降法   一般是这俩方法结合使用,各有优点、缺点。

最速下降法:当不知道最优解在什么情况下时,随便找一个初始解,从此解出发 用最速下降法迭代…最后,靠近f(x)最小值点的速度越来越慢,并且永远达不到。–> 改用 牛顿迭代法:当初始值充分靠近x*(f(x)最小值点)附近时,迭代点收敛到x*的速度较快。

最速下降法:当初始值离最优解x*较远的时候,下降速度(收敛速度)很快,一旦靠近x*收敛速度就会变慢。

两法结合使用 –> f(x)最小值最优解x*。

二次规划

min:目标函数;   X、c:n维列向量;   H:矩阵;

5.3、算法概述

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

5.4、MATLAB软件求解

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

4.2 奶制品的生产和销售

1、优化模型和优化软件的重要意义

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

2、优化(Optimization),规划(Programming)

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

3、优化问题的一般形式

f(x):目标函数          目的:求最小值min

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

4、无约束优化:最优解的分类和条件

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

5、LINGO需要掌握的几个重要方面

  1. 掌握集合(SETS)的应用;
  2. 正确阅读求解报告(尤其要掌握敏感性分析);
  3. 正确理解求解状态窗口;
  4. 学会设置基本的求解选项(OPTIONS);
  5. 掌握与外部文件的基本接口方法。

6、例1 加工奶制品的生产计划

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

6.1、模型求解

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

Lingo:默认变量非负数。

48.000000:原料每增加一桶牛奶,目标函数值(总利润)增加48元。   48-35=13,获利13元

2.000000:每增加一个工时,利润增加2元。

可以用 Lingo 进行 模型求解

Lingo:<、<=  含义相同;默认所有变量都是 非负变量;@free(x1);  声明变量x1可以取负值。

!  :注释作用。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

6.2、结果解释

Lingo分析:默认关闭。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

开启 Lingo数据分析

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

结果解释

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

x1:当前系数72,最大可增加24,最小可减少8

x1在区间 [72-8, 72+24] 变化,最优解不变。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

7、LINGO模型的构成:5个段

  1. 目标与约束段
  2. 集合段(SETS ENDSETS)
  3. 数据段(DATA ENDDATA)
  4. 初始段(INIT ENDINIT)
  5. 计算段(CALC ENDCALC)

目标:目标函数;   约束段:约束条件

集合段:所用到的变量的下标

数据段:所用到的变量(向量、矩阵…)的值

初始段:Lingo求解线性规划模型,是一个迭代过程,需要初值,设定初始值。

计算段:计算。

实际遇到的问题,规模较大,要掌握Lingo集合。使用原始方法,将模型数据输入,明显不太现实。

Lingo可以求解非线性规划模型。

8、例1:选址问题

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

吨公里数:运送的水泥量*运送距离。

目标函数(总的顿公里数)min:统计和【Cij(运量) * 距离】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

水泥日用量:di   需求量约束   从两个料场运往工地的水泥总数(cij) 要 满足 工地需求量(di)      6个工地

运送水泥量(cij) < 水泥存储量(ej)

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

sets:集合      endsets 集合结尾                data: 数据   用“ ”或“,”分隔数据   enddata: 结束输入数据

demand集合名称;1…6:六维向量;a、b、d:都是六维向量

supply/1..2/:x,y,e;    supply是二维列向量集合,   x、y:两个料场的横纵坐标构成的列向量

link(demand, supply):c;    联合集合   矩阵集合    link:六行两列矩阵    c属于此集合

a:六个工地的横坐标 系数矩阵

b:六个工地的纵坐标

d:六个工地的水泥需求量

e:日存储量

x、y:料场的横纵坐标

x=5,1; 两个料厂的横坐标构成的向量

y=2,7; 两个料厂的横坐标构成的向量

目标函数@sum(link(i,j): c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2));   @sum:Σ(求和)    i属于demand(1~6),j属于supply(1~2)

link(i,j)   i属于demand(6个分量),j属于supply(2个分量),c(i, j):从j料场到i工地的水泥运量

(x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2):料场到工地的距离

@for():约束条件    demand(i):对任意的i(1~6)

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

选址问题:NLP

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

cij:料场j到工地i的运量

总的吨公里数:料场j到工地i的运量 * 料场j到工地i的距离

两个料场的位置:(x1, y1)、(x2, y2)

xj、yj 是 变量

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

给x、y初始值赋值:迭代法,初始值合适的话,可以减少迭代次数,容易找到迭代次数。    init:    endinit  之间

目标函数@sum(link(i,j): c(i,j)*((x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2));   @sum:Σ(求和)    i属于demand(1~6),j属于supply(1~2)

(x(j)-a(i))^2+(y(j)-b(i))^2)^(1/2):料场到工地的距离

@for():约束条件    demand(i):对任意的i(1~6)数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】 数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】 数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

x、y是位置,可正可负,取消非负要求  @free()

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

料场A:(5.75,5.00)      料场B:(7.25,7.75)

C(1, 1)~C(6, 2):运输量

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】 横纵坐标,都取整。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

Lingo模型的集合求解

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

6发点8收点运输模型

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

4.3 整数规划4.3 汽车生产与原油采购)(例1 汽车厂生产计划

整数规划:整数线性规划、整数非线性规划 

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

问题1:制定月生产计划,使工厂的利润最大.

1、模型建立

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

线性规划模型

x1、x2、x3 取 整数 —> @gin(x1…x9):x1…x9取整数

2、模型求解

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

问题2:生产某类汽车,至少生产80辆,求生产计划.

方法1:分解为8个LP子模型

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

不考虑 “不满足条件的子模型” 。

方法2:引入0-1变量,化为整数规划

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

引入非常大的正数M         y1=1时,表示 生产这种车。

y1 = 0:x1 ≤ 0 ,x1 ≥ 0

y1 = 1:x1 ≤ M,x1 ≥ 80

@bin();     设定0-1变量

方法3:化为非线性规划

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

x1 =0 或 ≥80   等价于   x1 (x1 − 80) ≥ 0

汽车厂生产计划—分析总结

汽车厂生产计划

  • 决策变量为整数,建立整数规划模型.
  • 求解整数规划和非线性规划比线性规划困难得多(即便用数学软件).
  • 当整数变量取值很大时, 可作为连续变量处理,问题简化为线性规划.
  • 对于类似于“x=0 或 ≥80”这样的条件,通常引入0-1变量处理,尽量不用非线性规划(特别是引入的整数变量个数较少时).

4.4 0-1规划

选课策略

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

0-1规划模型:对 问题决策、选择(策略选择问题),有着很大的作用。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

3个 约束条件 !!!

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

选修3号课程的前提是:已学1号、2号课程。

∴ x3 ≤ x1,x3 ≤ x2      两式相加,2*x3 ≤ x1 + x2

移项得:2*x3 – x1 – x2 ≤ 0

与此类似:x4 ≤ x7,x4 – x7 ≤ 0

得到 6个 约束条件。

一共9个约束条件。拉格朗日法求解,较为麻烦 –> Lingo   @gin(x1…x9):x1…x9取整数

@bin();    设定0-1变量

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

目标:Z尽量小,W尽量大。即,求 min{Z, -W}

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

Lingo不能给出问题 所有的最优解,只给一个!!!

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

加权法:侧重xxx               λ1 + λ2 = 1               多目标问题,转化为单目标问题。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

  • x1 ≤ x2
  • x1=1,x2=0
  • (x1=1,x2=0   or   x1=0,x2=1)x1*x2=0
  • x1≥0,x2≥0

销售代理的开发与中断

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

问题1的建模

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

0-1规划问题                       Σx1t:t(1~5)1~5年

7.5(5*x11 + 4*x12 + 3*x13 + 2*x14 + x15):从第x年,开始建立代理关系。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

问题1的求解

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

\sum x_{it}\leq 1   代理关系,一旦建立,将长期保持。∴从1~5年建立代理关系后,关系将一直保持到第5年。

i=1~4,分别代表 4位代理;t=1~5,分别 第1~5年。

问题2的建模

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

问题2的求解

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

4.5 非线性规划

引例 组合投资

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

R(X):利润;       Q(X):风险

x1~x8:8个项目,只能选一个进行投资。(0-1变量)

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

  • 模型1:将 风险 固定到 某个范围内。
  • 模型2:收益大于某个值的情况下,最小化风险。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

  • 加权平均:ρ小,偏向于增加利润;ρ大,偏向于降低风险。ρ * \sqrt{Q(X))} 或者 R(X),要根据情况选择。  

引例 投资选择问题

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

基本概念

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

L≤x≤U,决策变量的上界、下界

算法概述

约束非线性规划算法

  1. 可行方向法;
  2. 罚函数法;
  3. 梯度投影法;
  4. 逐步二次规划法(SQP)

          (Sequential Quadratic Programming)

MATLAB软件中主要采用SQP算法。

MATLAB软件求解

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

fminsearch:寻找无约束规划问题的最小值。一般是,多元函数求最小值。也可求,最大值。

fminunc 无约束非线性最优化   常用

1.函数fminunc、 fminsearch的具体用法

unc:无约束   Unconstrained

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

求 F(X)最小值,Min F(X)

建立fun.m文件后,将F(X)表达式写到文件中。

[X, fval] :(X)最优解、(fval)最优解对应的最优值

‘fun’  或者  @fun

x0:(迭代初始值)设定的初始值

options:设置

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

先新建fun1.m文件。

x是向量,x向量有2个分量 x(1)、x(2)

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

误差:1e-10:10^-10

iter:迭代

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

找两个不同的初始值,进行迭代,结果不一样,说明:此问题对初始值敏感。

选不同的初始值进行比较,看解集中到哪个点上,此点可能就是最优解。

局部性   尽量选择接近最优解的点,否则可能会迭代失败。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

2.函数fmincon的具体用法

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

lb ≤ X ≤ ub      lb、ub:决策变量的上界、下界

[x,fval]= fminunc(‘fun1’,x0, options),        x:最优解;fval:最优解对应的最优值

x0:迭代初始值         A:所有的不等式线性约束的系数构成的矩阵   b:不等式约束的右端向量

Aeq:所有的线性等式约束的变量前的系数构成的矩阵   beq:等式约束的右端向量

@con:调用con.m文件,记录了模型中所有的不等式约束、等式约束。非线性约束

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

① fun.m文件:目标函数的表达式文件

② function [c,ceq]= nonlcon(x)        c:非线性不等式约束表达式(函数体)     ceq:非线性等式约束表达式

非线性不等式约束 写成 标准形式 -> “等式 ≤ 0”的形式

c=G1(x);    有若干个(≥2)非线性不等式约束,使用[]括起来,中间用“,”分开。

没有等式约束:ceq用空“[]”来表示。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

f = -x(1)*x(2);     求Max f(x) = x1*x2,    fmincon用来求最小值,       给f加负号,可求最大值Max。

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

x0=[10 10 2]’;     ‘:转置,列向量

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

3、使用quadprog求解二次规划问题

 数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

数学建模【规划模型--线性规划(整数规划、0-1规划)、非线性规划-附:案例分析、奶制品的生产和销售(详细求解过程)】

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/159182.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 微信小程序swiper小程序轮播图小圆点样式修改

    微信小程序swiper小程序轮播图小圆点样式修改<swiperclass=”swiper-box”indicator-dots=”{{indicatordots}}”autoplay=”{{autoplay}}”><blockwx:for=”{{swiperItem}}”><swiper-item><navigatorurl=”{{item.linkUrl}}”><imageclass=

  • linux root密码修改命令_centos7修改root用户密码

    linux root密码修改命令_centos7修改root用户密码作者:技术工程师–陈锐锐前言:最近遇到有将自己root密码忘记的情况,这里总结一下root密码修改的几种方法,仅供参考。一、Linux6.x以及以下版本1.重启系统,按e进入如下模式再次按e进入如图模式(选中kernel)2.按e进入编辑(空格+/init1或空格+singe或空格+1),三种选一种就行。3.修改完成后,按回车,退回上一界面,按b保存重启4.完成以上操作,即可进入单用户模式,passwd直接修改,然后重启即可二、Linu…

  • 【《重构 改善既有代码的设计》学习笔记4】构筑测试体系

    本篇文章的内容来自《重构 改善既有代码的设计》一书学习笔记整理并且加上自己的浅显的思考总结!如果想要进行重构,首要前提是 拥有一个可靠的测试环境。1、 自测代码的价值完成一个功能:设计+开发+调试,认真分析,程序员最多花费的时间不是开发(编码),而是用来调试。调试可能花费无数个小时,甚至通宵达旦。修复错误是快速的,而找出错误却是恶梦一场。当修复好一个错误,总是会有另一个错误的出现。而引…

  • netty编解码器_netty编程实战

    netty编解码器_netty编程实战目录​1Java序列化的缺点2业界主流的编解码框架2.1Google的Protobuf介绍2.2Facebook的Thrift介绍2.3JBossMarshalling介绍 第6章编解码技术1Java序列化的缺点java序列化通过实现Serializable接口来实现 无法跨语言 序列化后的码流太大  序列化性能太低java序列化的两…

  • n卡eth挖矿设置_以太坊挖矿软件配置

    n卡eth挖矿设置_以太坊挖矿软件配置关键词:以太坊挖矿挖矿软件配置ETH挖矿软件配件在挖矿系统选择上,可以选择windows或者Linux,我们以windows为例。(如果想要超频的矿友建议使用Windows系统,因为它对驱动的支持全面,超频工具种类多)系统设置步骤:一.首先我们要为矿机安装一个操作系统,本教程将按照Windows10系统进行讲解。这里是win10系统的下载地址:https://msdn.itellyo…

    2022年10月16日
  • Hadoop相关资源地址「建议收藏」

    Hadoop相关资源地址「建议收藏」Hadoop相关资源地址链接

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号