当前位置: 首页 > news >正文

求解线性规划模型最优解

在这里插入图片描述

归纳编程学习的感悟,
记录奋斗路上的点滴,
希望能帮到一样刻苦的你!
如有不足欢迎指正!
共同学习交流!
🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝
既然选择了远方,当不负青春,砥砺前行!


在这里插入图片描述
求解线性规划模型已经有比较成熟的算法。对一般的线性规划模型,常用的解法有图解法、单纯形法等;虽然针对线性规划的理论算法已经比较完善,但是当需要求解的模型的决策变量和约束条件数量比较多时,手工求解模型是十分繁杂甚至不可能的,通常需要借助计算机软件来实现。

目前,求解数学规划模型的常用软件有Python、LINGO、MATLAB等多种软件,本种的数学规划模型使用Python软件求解。

求解线性规划模型可以使用Python的cvxpy库。
cvxpy库与MATLAB中cvx工具库类似,用于求解凸优化问题。cvx与cvxpy都是由加州理工学院的Stephen Boyd教授课题组开发。cvx是用于MATLAB的库,cvxpy是用于Python的库。下载、安装及学习地址如下:
cvx: http://cvxr.com/cvx/; cvxpy: http://www.cvxpy.org/

max⁡z=70x1+50x2+60x3,s.t.{2x1+4x2+3x3≤150,3x1+x2+5x3≤160,7x1+3x2+5x3≤200,xi≥0,i=1,2,3.\begin{aligned} \max z &= 70x_1 + 50x_2 + 60x_3, \\ \text{s.t.} \quad & \left\{ \begin{array}{l} 2x_1 + 4x_2 + 3x_3 \leq 150, \\ 3x_1 + x_2 + 5x_3 \leq 160, \\ 7x_1 + 3x_2 + 5x_3 \leq 200, \\ x_i \geq 0, i = 1, 2, 3. \end{array} \right. \end{aligned}maxzs.t.=70x1+50x2+60x3,2x1+4x2+3x3150,3x1+x2+5x3160,7x1+3x2+5x3200,xi0,i=1,2,3.

目标函数的最优值为 z=2590.9091z = 2590.9091z=2590.9091

解 利用Python程序,求得最优解为

x1=15.9091,x2=29.5455,x3=0,x_1 = 15.9091, x_2 = 29.5455, x_3 = 0,x1=15.9091,x2=29.5455,x3=0,

计算的Python程序如下:

import cvxpy as cp
from numpy import array# 定义目标向量
c = array([70, 50, 60])
# 定义约束矩阵
a = array([[2, 4, 3], [3, 1, 5], [7, 3, 5]])
# 定义约束条件的右边向量
b = array([150, 160, 200])
# 定义三个决策变量
x = cp.Variable(3, pos=True)
# 构造目标函数
obj = cp.Maximize(c @ x)
# 构造约束条件
constraints = [a @ x <= b]
prob = cp.Problem(obj, constraints)
# 求解问题
prob.solve(solver='GLPK_MI')
print('最优解为:', x.value)
print('最优值为:', prob.value)
http://www.dtcms.com/a/277486.html

相关文章:

  • Java行为型模式---观察者模式
  • AI基础设施展望
  • 《Mirage:首款基于实时世界模型的AI原生UGC游戏引擎,开启“边玩边生成”的游戏新时代》
  • Python实现小红书悬停框效果详解
  • 极矢量与轴矢量
  • 框架和库的区别
  • MCP4725 数据手册解读
  • 通信子网 V
  • cuda编程笔记(7)--多GPU上的CUDA
  • 黑马点评系类问题p63中ClassPathResource报错
  • Claude Code AI 编程指南
  • 在 Flow 取消时自动清理资源
  • 构建可落地的企业AI Agent,背后隐藏着怎样的技术密码?
  • vue是什么
  • 【读书笔记】《Effective Modern C++》第二章:auto
  • 改进后的 OpenCV 5.x + GStreamer + Python 3.12 编译流程(适用于 Orange Pi / ARM64)
  • 正则化-机器学习
  • Redis面试精讲 Day 2:Redis数据类型全解析
  • 内存管理概念
  • Docker安装Nginx
  • Web:JS的三种引用方式
  • 《每日AI-人工智能-编程日报》--2025年7月12日
  • Windows 常用命令
  • 网络编程 JAVA
  • 视觉语言导航与目标导航
  • 【银行测试】基金项目测试详细,测试点+面试(一)
  • ​​LangChain专家养成:工具扩展/Agent决策/记忆控制三维进阶
  • 250707脑电分析课题进展——EEGLAB的使用
  • 前端工程化-构建打包
  • 大模型-量化技术