level 1
问deepseek
import numpy as np
from 网页链接 import linprog
# 定义每种物质每100克中甲、乙、丙元素的含量
A = np.array([2, 8.5, 13]) # A物质每100克的元素含量
B = np.array([77, 0.9, 7]) # B物质每100克的元素含量
C = np.array([0, 0, 75]) # C物质每100克的元素含量
# 定义需求
required = np.array([91, 136, 98]) # 需要的甲、乙、丙元素的总量
# 定义目标函数的系数(我们希望最小化缺失的元素总量)
# 这里我们假设缺失的元素总量为负值,因此我们需要最大化这个值
c = -np.array([2, 8.5, 13, 77, 0.9, 7, 0, 0, 75])
# 定义约束条件
# 每种物质的用量不能为负
bounds = [(0, None), (0, None), (0, None)]
# 定义约束矩阵
A_eq = np.array([
[2, 77, 0], # 甲元素
[8.5, 0.9, 0], # 乙元素
[13, 7, 75] # 丙元素
])
# 定义等式约束的右侧
b_eq = required
# 使用线性规划求解
result = linprog(c, A_eq=A_eq, b_eq=b_eq, bounds=bounds, method='highs')
# 输出结果
if result.success:
print("最优解:")
print(f"A物质用量: {result.x[0]} 克")
print(f"B物质用量: {result.x[1]} 克")
print(f"C物质用量: {result.x[2]} 克")
# 计算缺失的元素量
actual = np.dot(A_eq, result.x)
missing = required - actual
print("缺失的元素量:")
print(f"甲元素: {missing[0]} 克")
print(f"乙元素: {missing[1]} 克")
print(f"丙元素: {missing[2]} 克")
else:
print("未找到最优解")
2025年02月23日 16点02分