首页 > 其他分享 >数学建模习题5.7

数学建模习题5.7

时间:2024-10-14 23:32:23浏览次数:7  
标签:prev cost 5.7 建模 state production demand 习题 total

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("2023310143005")

标签:prev,cost,5.7,建模,state,production,demand,习题,total
From: https://www.cnblogs.com/vvlin/p/18466483

相关文章

  • 数学建模习题4.4
    `MAX_B=24MAX_DEBUG=5products=[{"name":"Ⅰ","A_hours":1,"B_hours":6,"debug_hours":1,"profit":2},#假设产品Ⅰ至少使用1小时设备A{"name":"Ⅱ","A_hours":5,"......
  • 数学建模习题3.3
    importnumpyasnpfromscipy.sparse.linalgimporteigsimportpylabaspltw=np.array([[0,1,0,1,1,1],[0,0,0,1,1,1],[1,1,0,1,0,0],[0,0,0,0,1,1],[0,0,1,0,0,1],[0,0,1,0,0,0]])r=np.sum(w,axis=1,keepdims=True)n=w.sha......
  • 数学建模习题2.4
    importnumpyasnpimportmatplotlib.pyplotasplt定义x的范围x=np.linspace(-10,10,400)创建一个2行3列的子图布局fig,axs=plt.subplots(2,3,figsize=(12,8))遍历每个子图fork,axinenumerate(axs.flat,start=1):y=k*x**2+2*kax.plot(x,y,label......
  • 数学建模习题2.6
    importnumpyasnpimportmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3D模拟高程数据(假设数据已经过某种方式插值或生成)这里我们创建一个简单的40x50网格,并填充随机高程值x=np.linspace(0,43.65,40)y=np.linspace(0,58.2,50)X,Y=np.meshgr......
  • 数学建模习题2.5
    importnumpyasnpimportmatplotlib.pyplotaspltfrommpl_toolkits.mplot3dimportAxes3D定义参数u和vu=np.linspace(-2,2,400)v=np.linspace(0,2*np.pi,400)U,V=np.meshgrid(u,v)根据参数方程计算x,y,zx=np.sqrt(1+U2+V2)*np.cos(V)y=np......
  • 数学建模习题2.8
    importnumpyasnp初始化系数矩阵A和常数项向量bn=1000A=np.zeros((n,n))b=np.arange(1,n+1)填充系数矩阵Aforiinrange(n):A[i,i]=4#对角线元素为4ifi<n-1:A[i,i+1]=1#每一行的下一个元素为1ifi>0:A[i,i-1]=1#每一行的上一个元素......
  • 数学建模习题2.7
    importnumpyasnp定义系数矩阵A和常数项向量bA=np.array([[4,2,-1],[3,-1,2],[11,3,0]])b=np.array([2,10,8])使用numpy的lstsq求解最小二乘解x,residuals,rank,s=np.linalg.lstsq(A,b,rcond=None)print("最小二乘解为:")print(x)打印残差和矩阵A的......
  • 数学建模习题2.9
    importsympyassp定义变量x,y=sp.symbols('xy')定义方程组equation1=sp.Eq(x**2-y-x,3)equation2=sp.Eq(x+3*y,2)解方程组solutions=sp.solve((equation1,equation2),(x,y),dict=True)print("符号解:")forsolinsolutions:print(sol)......
  • 数学建模习题2.11
    importnumpyasnpdeff(x):return(abs(x+1)-abs(x-1))/2+np.sin(x)defg(x):return(abs(x+3)-abs(x-3))/2+np.cos(x)fromscipy.optimizeimportfsolvedefequation_system(vars):x1,x2,y1,y2=varseq1=2x1-3f(y1)-4g(y2)+1eq2......
  • 数学建模习题2.10
    fromscipy.integrateimportquadimportnumpyasnp第一部分:抛物线旋转体(修正后)defV1_quad(y):returnnp.pi*(4*y-y**2)V1_corrected,_=quad(V1_quad,1,3)第二部分保持不变V2=0.5*(4/3)*np.pi*23-(1/3)*np.pi*22*1计算总体积total_volume_co......