gjghjjii 2021-09-15 14:20 采纳率: 100%
浏览 35
已结题

用python求线性规划问题,但是提示错误是A_eq必须正好有两个维度,A_eq中的列数必须等于c的大小

代码是这样的:

img


错误提示:A_eq必须正好有两个维度,A_eq中的列数必须等于c的大小

img


求解!

  • 写回答

2条回答 默认 最新

  • 关注

    a_eq内应该是一个1-3的array,不应该是三个单值,即应该多套一层中括号
    修改如下:
    有帮助望采纳

    import numpy as np
    from scipy.optimize import linprog
    
    c = np.array([2, 3, -5])
    a_ub = np.array([[-2, 5, -1], [1, 3, 1]])
    b_ub = np.array([-10, 12])
    a_eq = np.array([[1, 1, 1]])#注意维度,要多加一个方括号
    b_eq = np.array([7])
    print(c, a_ub, b_ub, a_eq, b_eq)
    
    ret = linprog(-c, A_ub=a_ub, b_ub=b_ub, A_eq=a_eq,
                  b_eq=b_eq, bounds=((0, None), (0, None),(0, None)))#变量有三个,bound要写三个
    
    print(ret)
    print(ret.x)  # 表示最优解
    print(ret.fun)  # 表示最值
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 9月24日
  • 已采纳回答 9月16日
  • 创建了问题 9月15日

悬赏问题

  • ¥15 Oracle中如何从clob类型截取特定字符串后面的字符
  • ¥15 想通过pywinauto自动电机应用程序按钮,但是找不到应用程序按钮信息
  • ¥15 MATLAB中streamslice问题
  • ¥15 如何在炒股软件中,爬到我想看的日k线
  • ¥15 seatunnel 怎么配置Elasticsearch
  • ¥15 PSCAD安装问题 ERROR: Visual Studio 2013, 2015, 2017 or 2019 is not found in the system.
  • ¥15 (标签-MATLAB|关键词-多址)
  • ¥15 关于#MATLAB#的问题,如何解决?(相关搜索:信噪比,系统容量)
  • ¥500 52810做蓝牙接受端
  • ¥15 基于PLC的三轴机械手程序