求解线性规划模型最优解

在这里插入图片描述

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


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

目前,求解数学规划模型的常用软件有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.pswp.cn/web/88918.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/88918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

达梦国产数据库安装

打开ISO 、文件点击运行接受选择安装路径数据初始化 新数据库要创建数据库实例 选择一般用途数据库位置 选择所以系统用户&#xff0c;设置初始密码创建示例库可以选可以不选查找最近添加文件登录

互斥锁与同步锁

1. 锁的本质&#xff1a;解决并发问题的基石在多线程/多进程环境中&#xff0c;临界区&#xff08;Critical Section&#xff09; 是访问共享资源的代码段。锁的核心目标是确保互斥访问——任意时刻仅有一个执行单元能进入临界区。// 典型临界区示例 pthread_mutex_lock(&m…

高密度PCB板生产厂商深度解析

在电子制造领域&#xff0c;高密度PCB&#xff08;印制电路板&#xff09;作为核心基础元件&#xff0c;其技术精度与生产稳定性直接影响终端产品性能。本文精选五家具备核心技术优势的国内厂商&#xff0c;通过实地调研与行业数据验证&#xff0c;为读者呈现真实可信的供应商选…

力扣 hot100 Day44

98. 验证二叉搜索树 给你一个二叉树的根节点 root &#xff0c;判断其是否是一个有效的二叉搜索树。 有效 二叉搜索树定义如下&#xff1a; 节点的左子树只包含 小于 当前节点的数。 节点的右子树只包含 大于 当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树 //自…

【基础架构】——软件系统复杂度的来源(低成本、安全、规模)

目录 一、软件系统复杂度的来源之低成本二、软件系统复杂度的来源之安全2.1、功能安全2.2、架构安全2.3、规模2.3.1、功能越来越多,导致系统复杂度指数级上升2.3.2、数据越来越多,系统复杂度发生质变本文来源:极客时间vip课程笔记 一、软件系统复杂度的来源之低成本 当我们设…

机器学习 YOLOv5手绘电路图识别 手绘电路图自动转换为仿真软件(如LT Spice)可用的原理图,避免人工重绘

以下是对《手绘电路图识别》论文的核心解读&#xff0c;结合技术方案、实验数据和创新点进行结构化总结&#xff1a;研究目标 解决痛点&#xff1a;将手绘电路图自动转换为仿真软件&#xff08;如LT Spice&#xff09;可用的原理图&#xff0c;避免人工重绘。 关键挑战&#xf…

一般的非线性规划求解(非凸函数)

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 每一个裂缝都是为透出光而努力&#x…

CTFHub————Web{信息泄露[Git泄露(Stash、Index)]}

Web 信息泄露 Git泄露 Stash 首先&#xff0c;我们先读题&#xff0c;由题可知我们可以用BugScanTeam或GitHack完成该题那么我们先开题&#xff0c; 好吧&#xff0c;他问我们flag在哪里&#xff0c;我怎么知道fag在哪里。 先打开GitHack 使用 py GitHack.py http://challenge-…

缺乏实际里程碑管控项目进度,如何设定关键节点

要通过实际里程碑管控项目进度&#xff0c;核心措施包括&#xff1a;设定可量化的关键节点、明确交付标准与责任人、同步风险与资源计划、基于阶段目标拆解任务、建立节点验证与复盘机制。例如&#xff0c;设定可量化的关键节点能让团队清晰理解“何时完成了什么”并及时调整方…

XML E4X:深入解析与高效应用

XML E4X:深入解析与高效应用 引言 XML(可扩展标记语言)作为一种数据交换格式,广泛应用于互联网数据传输、配置文件、数据存储等领域。E4X 是一种扩展 XML 的编程接口,允许开发者以编程方式直接访问和处理 XML 数据。本文将深入探讨 XML E4X 的概念、特点、应用场景以及高…

uniapp---入门、基本配置了解

目录 uniapp 新建项目 uniapp全局配置 组件 1、内置组件 2、扩展 组件 uni-ui 3、第三方组件库 uview-ui 秋云-ucharts (插件市场 ) scss语法(了解) vue2语法&#xff08;熟悉&#xff09; uniapp 官方文档&#xff1a;uni-app官网 uni-app 是一个使用 Vue.js 开发所…

springboot 好处

思考1&#xff0c;快速启动&#xff0c;简化配置。自动配置&#xff0c;内置tomcat&#xff0c;无需部署war文件&#xff0c;快速创建独立应用2&#xff0c;提高开发效率&#xff0c;热部署3&#xff0c;微服务生态4&#xff0c;云原生&#xff0c;Docker K8sSpring Boot 的主要…

SSM框架学习——day1

SSM框架概述SSM框架是Java开发中常用的组合框架&#xff0c;由Spring、Spring MVC和MyBatis三个开源框架整合而成。主要用于构建企业级Web应用程序&#xff0c;具有轻量级、模块化、易扩展等特点。Spring框架作为核心&#xff0c;提供依赖注入&#xff08;DI&#xff09;和面向…

【html基本界面】

小米界面布局效果htmlcss效果 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>小米商城布局<…

【设计模式】适配器模式(包装器模式),缺省适配器模式,双向适配器模式

适配器模式&#xff08;Adapter Pattern&#xff09;详解 一、适配器模式简介 适配器模式是一种结构型设计模式&#xff0c;它将一个类的接口转换成客户端所期望的另一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以协同工作。 简单来说&#xff0c;适配…

安全初级(一)

一.docker的搭建和VPN连接 1.输入指令&#xff1a;apt-get install docker.io docker-compose 2.设置docker代理&#xff1a;创建文件夹以及对应的文件 /etc/systemd/system/docker.service.d/http-proxy.conf 在该文件中配置自己的代理ip以及代理端口 [Service] Environme…

Java多线程:核心技术与实战指南

目录&#x1f680;前言&#x1f914;什么是多线程&#xff1f;&#x1f4bb;创建线程&#x1f4af;创建方法一&#xff1a;继承Thread类&#x1f4af;创建方法二&#xff1a;实现Runnable接口&#x1f4af;创建方法三&#xff1a;实现Callable接口&#x1f4af;三种方法对比&am…

高斯代数基本定理的一种证明

代数基本定理 对于多项式 f(z)anznan−1zn−1⋯a1za0f(z) a_n z^n a_{n-1} z^{n-1} \cdots a_1 z a_0f(z)an​znan−1​zn−1⋯a1​za0​&#xff08;其中 n>1n > 1n>1 且 an,a0≠0a_n, a_0 \neq 0an​,a0​0&#xff09;&#xff0c;它在复数域内有根。 f(z)U…

【K8S】Kubernetes 使用 Ingress-Nginx 基于 Cookie 实现会话保持的负载均衡

文章目录 1. 创建测试应用 Deployment3. 配置基于 Cookie 的 Ingress4. 部署与测试步骤(1) 应用配置(2) 获取 Ingress IP(3) 测试会话保持(4) 使用 Nginx 取消域名的限制(仅推荐测试使用)5、生产优化建议6、独立 Nginx 配置参考在现代微服务架构中,负载均衡是保证高可用的关…

2.查询操作-demo

在连接数据库的基础上步骤&#xff1a;Query-查询关闭查询db.Next()逐行输出&#xff0c;并指定到当前变量Scan-扫描rows, err : db.Query("SELECT id,server_ip FROM softswitch_server_info")package main//查询语句-demo //关键字-queryimport ("database/sq…