求解線性規劃模型最優解

在這里插入圖片描述

歸納編程學習的感悟,
記錄奮斗路上的點滴,
希望能幫到一樣刻苦的你!
如有不足歡迎指正!
共同學習交流!
🌎歡迎各位→點贊 👍+ 收藏? + 留言?📝
既然選擇了遠方,當不負青春,砥礪前行!


在這里插入圖片描述
求解線性規劃模型已經有比較成熟的算法。對一般的線性規劃模型,常用的解法有圖解法、單純形法等;雖然針對線性規劃的理論算法已經比較完善,但是當需要求解的模型的決策變量和約束條件數量比較多時,手工求解模型是十分繁雜甚至不可能的,通常需要借助計算機軟件來實現。

目前,求解數學規劃模型的常用軟件有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?+3x3?150,3x1?+x2?+5x3?160,7x1?+3x2?+5x3?200,xi?0,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
英文地址,請注明出處:http://en.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…