每日 34
某村计划在100公顷的土地上种植a、b、c三种农作物。可以提供的劳力、粪肥
和化肥等资源的数量,种植每公顷农作物所需这三种资源的数量,以及能够获得的利
润如表所示。
种植投入产出表
| 用工 | 粪肥(吨) | 化肥(千克) | 利润(元) | |
|---|---|---|---|---|
| a | 450 | 35 | 350 | 1500 | 
| b | 600 | 25 | 400 | 1200 | 
| c | 900 | 30 | 300 | 1800 | 
| 可提供资源 | 63000 | 3300 | 33000 | 
其中一个劳动力干一天为1个工。现在要求为该村制定一个农作物的种植计划,
确定每种农作物的种植面积,使得总利润最大。
python:
import numpy as np
from scipy.optimize import linprog
目标函数系数(最大化需取负数转化为最小化问题)
c = np.array([-1500, -1200, -1800])
约束条件:Ax <= b
A = np.array([
[1, 1, 1],          # 土地约束
[450, 600, 900],    # 用工约束
[35, 25, 30],       # 粪肥约束
[350, 400, 300]     # 化肥约束
])
b = np.array([100, 63000, 3300, 33000])
result = linprog(c, A_ub=A, b_ub=b, method='highs')
输出结果
print("最优解:")
print("x1 (a作物面积) = {:.2f} 公顷".format(result.x[0]))
print("x2 (b作物面积) = {:.2f} 公顷".format(result.x[1]))
print("x3 (c作物面积) = {:.2f} 公顷".format(result.x[2]))
print("\n最大总利润 = {:.2f} 元".format(-result.fun))
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号