暑假实在没事做,想要找一点事情做。
这不,盯上了8月末的数学建模比赛。
本套文集参考《数学建模算法与应用》第二版,工具为matlab。
闲话不多话。吐槽一句,简书的markdown语法太不友好了。
开始:
前言
在开始之前,先让大家看一道题
相信大家在经历过高中数学之后,这道题已经不再陌生,最有效的方法就是画出坐标轴,然后对 进行平移,这条直线与y轴会相交于一点,当这一点的 值最大时,这个就是最大值。这就是线性规划。
线性规划
数学标准型:
一般的线性规划问题的数学标准型为:
式中.
大家学过线性代数的都知道,以上式子可以转化为一个矩阵,进而我们只需要对矩阵进行求解即可。
Matlab 中线性规划标准型。
由于现实问题中既有求最大值,也有求最小值,不等号可以时大于号,也可以是小于号,为了避免这种多样性带来的不便,所以在matlab中我们简化为一下形式:
式中:为列向量,其中称为价值向量,称为资源向量; 为矩阵。
在Matlab中求解线性规划的命令为
[x,fval] = linprog(f,A,b)
[x,fval] = linprog(f,A,b,Aeq,beq)
[x,fval] = linprog(f,A,b,Aeq,beq,lb,up)
式中:x返回决策向量的取值,fval返回目标函数的最优值;f为价值向量;A和b对应线性不等式约束;Aeq和beg对应线性等式约束;lb和ub分别对应x的上界和下届。
Example
求解下列线性规划问题:
可以转化为线性规划的问题
例如:
式中: = []; 和为矩阵和向量。
要把上面的问题变换成线性规划的问题,只要注意到事实:对任意的,存在, such that:
这样, 就可以满足上面的条件。(我刚开始看到这个地方很不理解为什么,直到我看到了这里,这里u,或者v必有一个是0).
这样记__, 就可以把上面的问题变成
Example
P1
数学建模时的基本步骤
- 符号规定和基本假设
- 模型的分析与建立
- 模型的求解
- 结果分析
由于在这个例子太过繁琐我就不举例了。
今天只是很简单的一部分,不错的开始,就是高中的内容。上面习题答案就不贴上去了。
明天继续。(还想再复习一下卷积,并用manim做一个视频讲解。)