matlab数学建模系列之线性规划

系列文章目录


前言

           在人们的生产实践中,经常会遇到如何利用现有资源来安排生产,以取得最大经济 效益的问题。此类问题构成了运筹学的一个重要分支—数学规划,而线性规划(Linear Programming 简记 LP)则是数学规划的一个重要分支。自从 1947 年 G. B. Dantzig 提出 求解线性规划的单纯形方法以来,线性规划在理论上趋向成熟,在实用中日益广泛与深 入。特别是在计算机能处理成千上万个约束条件和决策变量的线性规划问题之后,线性规划的适用领域更为广泛了,已成为现代管理中经常采用的基本方法之一。        

一、线性规划是什么?

             与其在先知道线性规划的一系列原理之前,我们不如引入例子去知道它。

1.1   例子:

        某机床厂生产甲、乙两种机床,每台销售后的利润分别为 4000 元与 3000 元。 生产甲机床需用 A、B 机器加工,加工时间分别为每台 2 小时和 1 小时;生产乙机床 需用 A、B、C 三种机器加工,加工时间为每台各一小时。若每天可用于加工的机器时 数分别为 A 机器 10 小时、B 机器 8 小时和C 机器 7 小时,问该厂应生产甲、乙机床各几台,才能使总利润最大? 

        我们来找找这个例子是要干什么,看到最后一句,我们是要知道怎么样使得总利润最大,这个是我们的终极目标,而如何得到利润?就需要看我们的甲乙机床的台数对应的利润,可生产是需要成本的,综合这些因素,我们需要达到我们的目标。看到这里你应该大概能知道线性规划是什么了吧?

        没错,就是在特定约束(成本、利润)的道路下,达到我们的目标。           

二、解决例题

1.需要使用到的函数

 在这里我们首先假设读者们已经大概有一些matlab的基础。如果没有基础的同学可以在csdn里搜川川这个大佬,相信他的内卷群不会让你失望的。

 进入正题:

 解决线性规划函数的利器,当然这只是解决静态的比较简单的这种方程:linprog函数,详细使用请看我的博客:

 matlab线性规划之linprog函数_羡鱼数与模_LL的博客-CSDN博客

 2.解决例题

    个人感觉每道数学建模题目,最主要的就是如何解题的这个思路,有了思路,其实代码实现反而再其次了。

   我们回到例题,根据问题的导向:“该厂应生产甲、乙机床各几台,才能使总利润最大”

   那我们不妨设该厂生产 x1 台甲机床和 x2 乙机床时总利润最大,再根据题目所有的约束条件,我们很容易就能列出:

   目标函数:

                 

   约束条件:

                 

     解题代码:

                  

%%
c = [4;3];
A = [2 1;1 1;0 1];
b = [10;8;7];
aeq = [];
beq = [];
lb = zeros(3,1);
[x fval] = linprog(c,A,b,aeq,beq,lb)

 3.拓展例题

 关于这部分更多具有挑战性的题目,我可以看我发的帖子:

 你说的都对-在的-线性规划-CSDN社区

 你说的都对-在的-线性规划剩下的-CSDN社区

 只用看这两部分的习题即可,源码已经在里头给出了,但答案并不一定正确,欢迎读者与我讨论,指正错误。

总结

  简单的解决线性方程其实并不难,难的是分析建模问题,需要考虑的较为全面,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

羡鱼数与模

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

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

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

打赏作者

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

抵扣说明:

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

余额充值