精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

scipy.optimize.linprog函數參數最全詳解

微云疏影 ? 來源:佐佑思維 ? 作者:佐佑思維 ? 2022-12-07 10:26 ? 次閱讀

1 線性規劃概念

定義:在線性等式和不等式約束下,最小化線性目標函數。

2 輸入格式

scipy.optimize.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)

3 參數設置

‘’‘

c:線性目標函數的系數; 數據類型:一維數組

A_ub(可選參數):不等式約束矩陣, A_{ub} 的每一行指定 x 上的線性不等式約束的系數;數據類型:二維數組

b_ub(可選參數):不等式約束向量,每個元素代表 A_{ub}x 的上限;數據類型:一維數組

A_eq(可選參數):等式約束矩陣, A_{eq}的每一行指定 x 上的線性等式約束的系數;數據類型:二維數組

b_eq(可選參數):等式約束向量,A_{eq}x 的每個元素必須等于 b_{eq} 的對應元素;數據類型:一維數組

bounds(可選參數):定義決策變量 x 的最小值和最大值;數據類型:(min, max)序列對

None:使用None表示沒有界限,默認情況下,界限為(0,None)(所有決策變量均為非負數)

如果提供一個元組(min, max),則最小值和最大值將用作所有決策變量的界限。

method(可選參數):算法,{‘interior-point’, ‘revised simplex’, ‘simplex’}以上三種算法可選;數據類型:輸入如上三種字符串

callback(可選參數):調用回調函數,我的理解是等待被調用的參數 ,如果提供了回調函數,則算法的每次迭代將至少調用一次。回調函數必須接受單個 scipy.optimize.OptimizeResult由以下字段組成:

x:當前解向量; 數據類型:一維數組

fun:目標函數的當前值(c^Tx); 數據類型:浮點數

success:當算法成功完成時為 True;數據類型:布爾值

slack:不等式約束的松弛值(名義上為正值) b_{ub} ? A_{ub}x; 數據類型:一維數組

con:等式約束的殘差(名義上為零) b_{eq} ? A_{eq}x;數據類型:一維數組

phase:正在執行算法的階段; 數據類型:整數

status:表示算法退出狀態的整數; 數據類型:整數

0 : 優化按名義進行

1 : 達到了迭代限制

2 : 問題似乎不可行

3 : 問題似乎是不收斂

4 : 遇到數值困難

nit:當前的迭代次數; 數據類型:整數

message:算法狀態的字符串描述符; 數據類型:字符串

options(可選參數)——求解器選項字典,所有方法都接受以下選項:

數據類型:字典

maxiter:整數,要執行的最大迭代次數

disp:布爾值,設置為True以打印收斂消息,默認值:False

autoscale:布爾值,設置為True以自動執行平衡,如果約束中的數值分開幾個數量級,請考慮使用此選項,默認值:False

presolve:布爾值,設置為False可禁用自動預解析,默認值:True

rr:布爾值,設置為False可禁用自動移除冗余,默認值:True

x0(可選參數):猜測決策變量的值,將通過優化算法進行優化。當前僅由’ revised simplex’ 方法使用此參數,并且僅當 x0 表示基本可行的解決方案時才可以使用此參數。 數據類型:一維數組

’‘’

4 輸出格式

‘’‘

x:在滿足約束的情況下將目標函數最小化的決策變量的值;數據類型:一維數組

fun:目標函數的最佳值(c^Tx);數據類型:浮點數

slack:不等式約束的松弛值(名義上為正值) b_{ub}-A_{ub}x;數據類型:一維數組

con:等式約束的殘差(名義上為零)b_{eq}-A_{eq}x;數據類型:一維數組

success:當算法成功找到最佳解決方案時為 True;數據類型:布爾值

status:表示算法退出狀態的整數;數據類型:整數

0 : 優化成功終止

1 : 達到了迭代限制

2 : 問題似乎不可行

3 : 問題似乎是不收斂

4 : 遇到數值困難

nit:在所有階段中執行的迭代總數;數據類型:整數

message:算法退出狀態的字符串描述符;數據類型:字符串 ’‘’

5 例子

import scipy

from scipy import optimize

import numpy

c = numpy.array([2,3]) #最值等式未知數系數矩陣

A_ub = numpy.array([[-1,1],[2,-2]]) #《=不等式左側未知數系數矩陣

B_ub = numpy.array([1,1]) #《=不等式右側常數矩陣

#A_eq = numpy.array() 等式左側未知數系數矩陣

#B_eq = numpy.array() 等式右側常數矩陣

x = (None,1) #未知數取值范圍

y = (None,None) #未知數取值范圍

res = scipy.optimize.linprog(c,A_ub,B_ub,bounds = (x,y)) #默認求解最小值,求解最大值使用-c并取結果相反數

print(res)

#結果:無解情況

con: array([], dtype=float64)

fun: -8782091626.64441

message: ‘The algorithm terminated successfully and determined that the problem is unbounded.’#算法成功終止,確定問題是無界的

nit: 3

slack: array([0.89897776, 1.20204449])

status: 3

success: False

x: array([-1.75641833e+09, -1.75641833e+09])

佐佑思維

審核編輯 :李倩

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 算法
    +關注

    關注

    23

    文章

    4599

    瀏覽量

    92642
  • 函數
    +關注

    關注

    3

    文章

    4305

    瀏覽量

    62430
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28329
收藏 人收藏

    評論

    相關推薦

    SUMIF函數使用教程

    SUMIF函數是Excel中非常實用的函數之一,能夠根據指定條件對數據進行篩選和求和操作。以下是對SUMIF函數使用方法的詳細教程: 一、基本語法 SUMIF函數的基本語法為: =SU
    的頭像 發表于 10-30 09:50 ?203次閱讀

    工商業儲能選型指南及參數詳解

    行業普遍認為2023年是工商儲元年。如今,工商儲賽道仍然持續升溫中,無數新玩家涌入。但令人眼花繚亂的選型配置成為不少玩家的第一道門檻,今天小固就手把手帶你進行工商儲選型,為你進行核心參數詳解
    的頭像 發表于 08-05 14:52 ?2430次閱讀
    工商業儲能選型指南及<b class='flag-5'>參數</b><b class='flag-5'>詳解</b>

    python函數的萬能參數

    我們通過一個簡單的事例來展示一下函數的萬能參數,我們先寫一個最簡單的函數
    的頭像 發表于 07-17 14:56 ?305次閱讀
    python<b class='flag-5'>函數</b>的萬能<b class='flag-5'>參數</b>

    MATLAB信號處理常用函數詳解

    MATLAB是一款功能強大的數學軟件,尤其在信號處理領域,它提供了眾多的函數和工具箱,使得信號的分析、處理、仿真變得簡單而高效。本文將詳細介紹MATLAB在信號處理中常用的函數,并通過具體示例來闡述其應用。
    的頭像 發表于 05-17 14:31 ?1741次閱讀

    儲能電池參數詳解

    儲能電池參數詳解-古瑞瓦特 電池是電化學儲能系統中最重要的部分之一,隨著電池成本的降低、電池能量密度、安全性和壽命的提升,儲能也迎來了大規模的應用,本文帶大家了解儲能電池的幾個重要參數。 01
    的頭像 發表于 04-23 18:44 ?871次閱讀
    儲能電池<b class='flag-5'>參數</b><b class='flag-5'>詳解</b>

    C語言函數指針六大應用場景詳解

    函數指針是一種非常強大的編程工具,它可以讓我們以更加靈活的方式編寫程序。在本文中,我們將介紹 6 個函數指針的高級應用場景,并貼出相應的代碼案例和解釋。
    的頭像 發表于 04-23 18:19 ?841次閱讀

    Go語言中的函數、方法與接口詳解

    Go 沒有類,不過可以為結構體類型定義方法。方法就是一類帶特殊的接收者參數函數。方法接收者在它自己的參數列表內,位于 func 關鍵字和方法名之間。(非結構體類型也可以定義方法)
    的頭像 發表于 04-23 16:21 ?747次閱讀

    stm32g030優化等級高于optimize for debug時,main函數里的while()循環出現if()內語句不能正常執行的原因?

    芯片使用G030,優化等級高于optimize for debug時,就會出現 main函數里的while()循環出現if()內語句不能正常執行的問題
    發表于 03-26 06:24

    回調函數(callback)是什么?回調函數的實現方法

    回調函數是一種特殊的函數,它作為參數傳遞給另一個函數,并在被調用函數執行完畢后被調用。回調函數
    發表于 03-12 11:46 ?2715次閱讀

    淺談C語言中的函數定義

    如果函數要使用參數,則必須聲明接受參數值的變量。這些變量稱為函數的形式參數。 形式參數就像
    發表于 03-11 10:09 ?334次閱讀

    函數指針與回調函數的應用實例

    通常我們說的指針變量是指向一個整型、字符型或數組等變量,而函數指針是指向函數函數指針可以像一般函數一樣,用于調用函數、傳遞
    的頭像 發表于 03-07 11:13 ?374次閱讀
    <b class='flag-5'>函數</b>指針與回調<b class='flag-5'>函數</b>的應用實例

    python中open函數的用法詳解

    python中open函數的用法詳解 Python中的open()函數用于打開文件。它接受文件名和模式作為參數,并返回一個文件對象。文件對象可用于讀取、寫入和管理文件。 open()
    的頭像 發表于 01-30 15:31 ?1949次閱讀

    XLOOKUP函數怎么使用

    的語法和參數 XLOOKUP函數的語法如下: =XLOOKUP(要查找的值,查找范圍,返回范圍,[未找到值的返回結果],[查找方式],[搜索模式]) 參數說明如下: 要查找的值:表示你需要查找的值,在查找范圍中要匹配的值。 查找
    的頭像 發表于 12-01 10:54 ?2155次閱讀

    vlookup函數的四個參數含義

    VLOOKUP函數是一種用于在Excel中查找和提取數據的功能強大的函數。它的四個參數含義分別是:查找值、查找范圍、返回列索引和區域或表標志。 首先,讓我們來詳細了解這四個參數的含義,
    的頭像 發表于 12-01 09:57 ?6957次閱讀

    sumif函數的使用技巧

    的范圍,criteria表示要判斷的條件,sum_range為可選參數,表示要進行求和操作的范圍。 當我們使用SUMIF函數
    的頭像 發表于 11-30 16:30 ?1247次閱讀