5.7

点击查看代码
import numpy as np
demands = [40, 60, 80]
max_production = 100
total_demand = sum(demands)
dp = np.full((4, total_demand + 1), float('inf'))
dp[0][0] = 0
prev_production = np.full((4, total_demand + 1), -1)
for i in range(1, 4):
prev_demand = sum(demands[:i-1])
for j in range(total_demand + 1):
if j < prev_demand + demands[i-1]:
continue
for x in range(max(0, j - prev_demand - demands[i-1] + 1), min(max_production + 1, j - prev_demand + 1)):
production_cost = 50 * x + 0.2 * x**2
storage_cost = 4 * (j - prev_demand - x)
total_cost = dp[i-1][j-x] + production_cost + storage_cost
if total_cost < dp[i][j]:
dp[i][j] = total_cost
prev_production[i][j] = x
min_cost = float('inf')
final_state = -1
for j in range(total_demand, total_demand + 1):
if dp[3][j] < min_cost:
min_cost = dp[3][j]
final_state = j
production_plan = [0] * 3
current_state = final_state
for i in range(3, 0, -1):
production_plan[i-1] = prev_production[i][current_state]
current_state -= prev_production[i][current_state]
print(f"最小总费用为: {min_cost} 元")
print("生产计划为:")
for i, plan in enumerate(production_plan, 1):
print(f"第{i}季度生产: {plan} 台")
print("学号:3004")

posted on   黄元元  阅读(21)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示