需求

某农户计划种植黄瓜和韭菜,种植面积不超过50亩,投入资金不超过54万元。假设种植黄瓜和韭菜的产量、成本和售价如下表。 为使一年的种植总利润(总利润=总销售收入 —总种植成本)最大,那么黄瓜和韭菜的种植面积(单位:亩)分别为多少?

年产量/亩 年种植成本/亩 每吨售价
黄瓜 4吨 1.2万元 0.55万元
韭菜 6吨 0.9万元 0.3万元

(1)写出线性规划公式,并转换成标准型

(2)编程解决该问题(matlab代码或者python代码,提交源码附件)

公式

原始公式

设黄瓜和韭菜的种植面积分别是x1,x2

  • 决策变量:x1,x2
  • 目标函数:max 1 x1+ 10.9 x2
  • 约束条件:
    • x1+x2<=50
    • 1.2 x1 +0.9 x2<=54
    • x1> 0 ,x2>0

标准化

  • 目标函数:max 1 x1 +0.9 x2 +0 x3 +0 x4
  • S.T:
    • x1+x2+x3=50
    • 1.2 x1+0.9 x2 +x4=54
    • x1>0,x2>0,x3>0,x4

代码实现(python)

算法模型

  • 目标函数:min -1 x1+ -0.9 x2
  • 约束条件:
    • x1+x2<=50
    • 1.2 x1 +0.9 x2<=54
    • x1> 0 ,x2>0
1
2
3
4
5
6
7
8
9
10
11
12
13
from scipy import optimize
import numpy as np

c = np.array([-1, -0.9]) # c 目标函数系数
A = np.array([[1, 1], [1.2, 0.9]])
b = np.array([[50], [54]])
# Aeq 没有等式 不写
# beq 没有等式 不写
x1 = (0, None)
x2 = (0, None)

x = optimize.linprog(c, A, b, bounds=(x1, x2))
print(x)

运行结果

image-20220429034114957