数学建模算法与应用习题 1.3

数学建模算法与应用习题 1.3

某厂生产三种产品Ⅰ,Ⅱ,Ⅲ。每种产品要经过A,B两道工序加工。设该厂有两种规格的设备能完成A工序,以A1,A2 表示;有三种规格的设备能完成B工序,以B1,B2,B3,表示。产品Ⅰ可在A,B任何一种规格设备上加工。产品Ⅱ可在任何规格的A设备上加工,但完成B工序时,只能在B1设备上加工;产品Ⅲ只能在A2与B2设备上加工。已知在各种机床设备的单件工时、原材料费、产品销售价格、各种设备有效台时以及满负荷操作时机床设备的费用如表1.2所列,试安排最优的生产计划,使该厂利润最大。

设备产品Ⅰ产品Ⅱ产品Ⅲ设备有效台时满负荷时的设备费用/元
A15106000300
A2791210000321
B1684000250
B24117000783
B374000200
原料费/(元/件)0.250.350.50
单价/(元/件)1.252.002.80

这里,我们可以设产品Ⅰ的A1、A2、B1、B2、B3参与生产的产品数量分别为x1、x2、x3、x4、x5。
设产品Ⅱ的A1、A2、B1参与生产的产品数量分别为x6、x7、x8。
设产品Ⅲ的A2、B2参与生产的产品数量分别为x9、x10

以下是python代码

import numpy as np
from scipy import optimize as op
# c = np.array([-3/4, -7753/10000, 3/8, 3132/7000, 7/20, 1/2, 2889/10000, -1.15, -19148/10000, 8613/7000])
c=np.array([0.75,0.7753,-0.375,-0.4474285714,-0.35,-0.5,-0.2889,1.15,1.9148,-1.230428])
bounds = [(0, None) for _ in range(10)]  # Equivalent to LB = zeros(5, 1) in MATLAB
Aub=np.array([
    [5,0,0,0,0,10,0,0,0,0],
    [0,7,0,0,0,0,9,0,12,0],
    [0,0,6,0,0,0,0,8,0,0],
    [0,0,0,4,0,0,0,0,0,11],
    [0,0,0,0,7,0,0,0,0,0]
])
Bub=np.array([6000,10000,4000,7000,4000])
Aeq=np.array([[1,1,-1,-1,-1,0,0,0,0,0],[0,0,0,0,0,1,1,-1,0,0],[0,0,0,0,0,0,0,0,1,-1]])
Beq=np.array([0,0,0])# ?[[0][0]]
res=op.linprog(-c,Aub,Bub,Aeq,Beq,bounds=bounds,method="highs")
print(res)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

熟人看不到

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

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

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

打赏作者

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

抵扣说明:

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

余额充值