数学建模--线性规划方法的Python实现

目录

  1.算法求解问题

  2.算法求解思路

  3.算法求解代码

  4.算法求解结果


 1.算法求解问题

求min z=2x1+3x2+x3
s.t:x1+4x2+2x3>=83x1+2x2>=6x1,x2,x3>=0

  2.算法求解思路

关键函数解释如下:
#利用linprogl函数来解决
'''
def linprog(c, A_ub=None, b_ub=None, A_eq=None, b_eq=None,bounds=None, method='interior-point', callback=None,options=None, x0=None)
求解方式有如下:
LINPROG_METHODS = ['simplex', 'revised simplex', 'interior-point', 'highs', 'highs-ds', 'highs-ipm']
'''具体解决步骤如下:
#1.分别表示出C,A,B矩阵和bounds即可
#2.A是s.t条件的系数矩阵,而且需要改写成小于等于的形式
#3.B是s.t条件的数值矩阵,而且需要改写成小于等于的形式
#4.bounds表示的是x1,x3,x2的取值范围
#5.调用linprog函数计算结果即可

  3.算法求解代码

#Linear Programming Problem 1:
#利用linprogl函数来解决
'''
def linprog(c, A_ub=None, b_ub=None, A_eq=None, b_eq=None,bounds=None, method='interior-point', callback=None,options=None, x0=None)
求解方式有如下:
LINPROG_METHODS = ['simplex', 'revised simplex', 'interior-point', 'highs', 'highs-ds', 'highs-ipm']
'''"""
求min z=2x1+3x2+x3
s.t:x1+4x2+2x3>=83x1+2x2>=6x1,x2,x3>=0
"""
#导入函数和库
import numpy as np
from scipy.optimize import linprog#分别表示出C,A,B矩阵和bounds即可
C=np.array([2,3,1])#C是2x1+3x2+x3的系数矩阵
#A是s.t条件的系数矩阵,而且需要改写成小于等于的形式
#B是s.t条件的数值矩阵,而且需要改写成小于等于的形式
A=np.array([[-1,-4,-2],[-3,-2,0]])
B=np.array([-8,-6])
#bounds表示的是x1,x3,x2的取值范围
#调用函数计算结果即可
ans=linprog(C,A_ub=A,b_ub=B,method='highs',bounds=((0,None),(0,None),(0,None)))
print(ans)

  4.算法求解结果

  算法的求解结果如下所示:message: Optimization terminated successfully. (HiGHS Status 7: Optimal)success: True(求解结果)status: 0fun: 7.0(最优值)x: [ 8.000e-01  1.800e+00  0.000e+00](对应的值向量)nit: 3(迭代次数)lower:  residual: [ 8.000e-01  1.800e+00  0.000e+00]marginals: [ 0.000e+00  0.000e+00  0.000e+00]upper:  residual: [       inf        inf        inf]marginals: [ 0.000e+00  0.000e+00  0.000e+00]eqlin:  residual: []marginals: []ineqlin:  residual: [ 0.000e+00  0.000e+00]marginals: [-5.000e-01 -5.000e-01]mip_node_count: 0mip_dual_bound: 0.0mip_gap: 0.0

  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/67191.shtml

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

相关文章

Python入门教程 - 基本函数(四)

目录 一、什么是函数 二、自定义函数并使用它 一、什么是函数 前面我们学习了像input()、print()、type()等等,他们都是函数。这些其实是由Python内部帮我们定义好的。我们直接用就可以了。 关于函数,除了用内部定义好的,我们也可以自己定…

[Android 四大组件] --- Service

1 service是什么 Service是Android系统中的四大组件之一&#xff0c;它是一种长生命周期的&#xff0c;没有可视化界面&#xff0c;运行于后台的一种服务程序。 2 service分类 3 service启动方式 3.1 startService显示启动 // AndroidManifest.xml<?xml version"1…

Redis-数据结构及常用命令

字符串(String)数据结构常用命令&#xff1a; SET key value&#xff1a;设置指定 key 的值&#xff1b; GET key&#xff1a;获取指定 key 的值&#xff1b; DEL key&#xff1a;删除指定 key&#xff1b; INCR key&#xff1a;将指定 key 的值增加 1&#xff1b; DECR key&a…

【git】git commit、push之前自动执行脚本

可以使用 Git 的钩子&#xff08;hooks&#xff09;功能。Git 钩子是在特定事件发生时执行自定义脚本的方式。 下面是一个使用 pre-commit 钩子的例子&#xff0c;用于在执行 git commit 之前自动执行脚本&#xff1a; 进入你的 Git 仓库的根目录。进入 .git/hooks 目录&…

NPM 常用命令(二)

目录 1、npm bugs 1.1 配置 browser registry 2、npm cache 2.1 概要 2.2 详情 2.3 关于缓存设计的说明 2.4 配置 cache 3、 npm ci 3.1 描述 3.2 配置 install-strategy legacy-bundling global-style omit strict-peer-deps foreground-scripts ignore-s…

【C++入门】string类常用方法(万字详解)

目录 1.STL简介1.1什么是STL1.2STL的版本1.3STL的六大组件1.4STL的缺陷 2.string类的使用2.1C语言中的字符串2.2标准库中的string类2.3string类的常用接口说明 &#xff08;只讲解最常用的接口&#xff09;2.3.1string类对象的常见构造2.3.2 string类对象的容量操作2.3.3string…

Java8实战-总结17

Java8实战-总结17 引入流流操作中间操作终端操作使用流 小结 引入流 流操作 java.util.stream.Stream中的Stream接口定义了许多操作。它们可以分为两大类。再来看一下前面的例子&#xff1a; List<String> names menu.stream() //从菜单获得流 .filter(d -> d.get…

山西电力市场日前价格预测【2023-09-05】

日前价格预测 预测明日&#xff08;2023-09-05&#xff09;山西电力市场全天平均日前电价为262.11元/MWh。其中&#xff0c;最高日前电价为349.80元/MWh&#xff0c;预计出现在19:30。最低日前电价为0.00元/MWh&#xff0c;预计出现在11:45-14:15。 价差方向预测 1&#xff1a…

LeetCode-39-组合总和

题目链接&#xff1a;LeetCode-39-组合总和 解题思路&#xff1a; 先排序&#xff0c;会节省时间&#xff1b;由于数组中的数字可以无限制重复被选&#xff0c;&#xff0c;因此和前几道题的差别是index不需要1&#xff0c;而是可以继续选择当前的元素 代码实现&#xff1a; cl…

upload-labs靶场通关详解

文章目录 Pass-01Pass-02Pass-03Pass-04Pass-05Pass-06Pass-07Pass-08Pass-09Pass-10Pass-11Pass-12Pass-13Pass-14Pass-15Pass-16Pass-17Pass-18Pass-19Pass-20方法一&#xff08;文件夹名欺骗绕过&#xff09;方法二&#xff08;%00截断攻击&#xff09; Pass-21 Pass-01 绕过…

通过HFS低成本搭建NAS,并内网穿透实现公网访问

文章目录 前言1.下载安装cpolar1.1 设置HFS访客1.2 虚拟文件系统 2. 使用cpolar建立一条内网穿透数据隧道2.1 保留隧道2.2 隧道名称2.3 成功使用cpolar创建二级子域名访问本地hfs 总结 前言 云存储作为一个新概念&#xff0c;在前些年炒的火热&#xff0c;虽然伴随一系列黑天鹅…

LinkedList(4):多线程LinkedList 不安全情况

多线程不安全演示&#xff0c;线程越多&#xff0c;现象越明显&#xff0c;这边只启了四个线程。 package com.example.demo;import java.util.LinkedList; import java.util.UUID;public class LInkedListThread {public static void main(String[] args) {final LinkedList&…

Unity UI与粒子 层级问题Camera depth Sorting Layer Order in Layer RenderQueue

Unity游戏开发中&#xff0c;模型、界面、特效等&#xff0c;需要规划好layer的概念&#xff0c;涉及到摄像机&#xff08;Camera&#xff09;、画布&#xff08;Canvas&#xff09;、Shader等相关内容。 在 Unity 中&#xff0c;渲染顺序是由多个因素共同决定的&#xff0c;大…

JavaScript的let和var的区别

let 和 var 是 JavaScript 中用于声明变量的两个关键字&#xff0c;它们之间有一些重要的区别&#xff1a; 作用域&#xff1a; var 声明的变量具有函数级作用域&#xff0c;这意味着它们在函数内部可见&#xff0c;如果在函数外部访问它们&#xff0c;它们也会存在于函数外部…

[学习笔记] fhq Treap 平衡树

fhq Treap 也叫无旋Treap &#xff08;好像&#xff1f;我也不知道&#xff09; 反正我带旋 Treap 是不会滴&#xff0c;其他的平衡树也不会&#xff08;但是会平板电视&#xff09; fhq Treap 好写&#xff0c;码量小&#xff0c;缺点是常数比较大 定义 二叉搜索树 二叉搜…

【LeetCode】409. 最长回文串

409. 最长回文串&#xff08;简单&#xff09; 方法&#xff1a;哈希表 贪心 思路 不难发现&#xff0c;回文字符串一定是由 若干偶数个字符 至多一个奇数个字符 组成 。我们可以使用一个长度为 128 的 hash表来记录每一个字符的出现次数&#xff0c;当该字符出现了两次&am…

MySQL JSON 数组用于 WHERE IN 子句

1.目的 在某些情况下&#xff0c;我们希望在查询中使用 IN 子句来匹配 JSON 数组中的元素。 例如&#xff0c;我们有一个包含用户 ID 的 JSON 数组 [1, 2, 3]&#xff0c;我们希望查询所有这些用户的信息。在这种情况下&#xff0c;我们需要将 JSON 数组转换为 IN 子句的形式…

pycharm 下jupyter noteobook显示黑白图片不正常

背景现象&#xff1a; 1、显示一张黑白图片&#xff0c;颜色反过来了。 from IPython.display import display source Image.open(examples/images/forest_pruned.bmp) display(source) 2、原因&#xff1a; 是pycharm会在深色皮肤下默认反转jupyter notebook输出图片的颜…

面试如何回答弹性盒子布局这个问题呢?

在我们面试中如果被问道css方面的面试题 那么极有可能被问到的一道面试题就是弹性盒子&#xff0c;本篇文章通过一张图带你拿捏这道面试题。 1、首先需要说一说弹性盒子的基本概念&#xff1a;弹性盒子是一种用于网页布局中创建灵活和响应式设计的CSS布局模型。 2、其次需要说…

Java:SpringBoot整合SSE(Server-Sent Events)实现后端主动向前端推送数据

SpringBoot整合SSE&#xff08;Server-Sent Events&#xff09;可以实现后端主动向前端推送数据 目录 核心代码完整代码参考文章 核心代码 依赖 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</a…