第一天打卡—线性规划(1)

一、题目

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

三、分析

首先你要把问题当作数学问题来思考,暂时请不要考虑代码。我们设该厂生产 x1 台甲机床和 x2 乙机床时总利润最大。

根据题目我们所得关系如下:
1)z = 4x1 + 3x2 就是我们要求的总利润
2) 每天可用于加工的机器时数分别为 A 机器 10 小时、B 机器 8 小时和C 机器 7 小时可得到关系是分别为:

2x1+x2<10
x1+x2<8
x2<7

3) 最后一点还得保证:x1,x2>0

建模就如此简单,根据题目,我们得出对应的数学方程即可。

我们在这里把变量 x1 , x2 称之为决策变量,z = 4x1 + 3x2叫做目标函数,第二步和第三步的式子叫做约束条件

你是不是有这样一个疑问?为什么这个是线性规划模型?不是非线性呢?请把你的回答写到评论区,我看看你们怎么的理解。

四、matlab解题

1)语法

我们使用linprog函数,这是专门解决线性规划问题的,我们来看一看该函数的语法:
在这里插入图片描述
具体含义是什么呢?似乎你还看不懂这个,因此我用中文来说一下我们主要用到的部分:

x = linprog(f,A,b) 求解 min f'*x 约束条件为 A*x ≤ b.
x = linprog(f,A,b,Aeq,beq) 求解上述问题,但是增加了约束条件,即将: Aeq*x = beq. 如果没有等式存在可以用:A = [] and b = [] 
x = linprog(f,A,b,Aeq,beq,lb,ub) 定义变量x的下界lb和上街ub,使得x始终在该范围内,即lb ≤ x ≤ ub。若没有约束条件,则设: Aeq = [] and beq = [] 

2)数学思维

我们的数学公式拿下来看看,看着我们对比着写代码:
目标函数:

max   z = 4x1 + 3x2 

约束条件:

2x1+x2<10
x1+x2<8
x2<7
x1,x2>0

做个线性规划图(高中数学知识了哈)
在这里插入图片描述

从数学角度,我们已经求出最优解x1和x2分别为2,6

3)matlab解题

强调: 在这里我需要说明的是,求解max=cx在matlab中就是min=-cx,记住有个负号!

因此matlab代码:

clc
clear all
c=[4 3];%用目标函数系数来确定

a=[2 1;1 1;0 1];%约束条件左边约束

b=[10;8;7];%约束条件右边系数
aeq=[];%没有等式约束,因此aeq,beq都为空
beq=[];

lb=[0;0];%下限为0
ub=[inf;inf];%没有上限,因为只限制了x>0

[x,fval]=linprog(-c,a,b,aeq,beq,lb,ub);
x    %获取对应x1,x2
%或者你直接fval取绝对值也是一样
best=c*x%计算最优值

运行结果:
在这里插入图片描述

x分别为2和6,我们带入式子得到z=2*4+3+6=8+18=26。x参数就是最优解所对应值的意思。
fval=26也能验证我们结果为26.fval参数就是最优解的意思。
因此最优解为26了。

4)练习题

求解该线性规划对应的最大值z以及x1,x2,x3
在这里插入图片描述

五、你的任务提交

请你认真读题思考!再看我分析,自己再去写代码,把练习题的解析写成一篇博客,然后点击提交任务,提交你写的这篇解题博客链接。

为什么我要求你也些一篇跟我一样的文章?当你自己写一篇文章的时候,你一定会大有收获,自己写出来的时候,你一定是真的动过脑子,亲手敲过代码(我不希望你是复制粘贴我的)
如何写博客?
1-在这里插入图片描述
2-
在这里插入图片描述
3)
在这里插入图片描述
4)添加标题
在这里插入图片描述
5)标题取名
在这里插入图片描述
写完你的练习题博客后来这里提交:
在这里插入图片描述

把你的这篇练习题博客链接提交确定:
在这里插入图片描述

  • 28
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

川川菜鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值