91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

scipy.optimize.linprog函數(shù)參數(shù)最全詳解

微云疏影 ? 來源:佐佑思維 ? 作者:佐佑思維 ? 2022-12-07 10:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1 線性規(guī)劃概念

定義:在線性等式和不等式約束下,最小化線性目標(biāo)函數(shù)。

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 參數(shù)設(shè)置

‘’‘

c:線性目標(biāo)函數(shù)的系數(shù); 數(shù)據(jù)類型:一維數(shù)組

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

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

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

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

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

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

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

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

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

x:當(dāng)前解向量; 數(shù)據(jù)類型:一維數(shù)組

fun:目標(biāo)函數(shù)的當(dāng)前值(c^Tx); 數(shù)據(jù)類型:浮點(diǎn)數(shù)

success:當(dāng)算法成功完成時(shí)為 True;數(shù)據(jù)類型:布爾值

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

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

phase:正在執(zhí)行算法的階段; 數(shù)據(jù)類型:整數(shù)

status:表示算法退出狀態(tài)的整數(shù); 數(shù)據(jù)類型:整數(shù)

0 : 優(yōu)化按名義進(jìn)行

1 : 達(dá)到了迭代限制

2 : 問題似乎不可行

3 : 問題似乎是不收斂

4 : 遇到數(shù)值困難

nit:當(dāng)前的迭代次數(shù); 數(shù)據(jù)類型:整數(shù)

message:算法狀態(tài)的字符串描述符; 數(shù)據(jù)類型:字符串

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

數(shù)據(jù)類型:字典

maxiter:整數(shù),要執(zhí)行的最大迭代次數(shù)

disp:布爾值,設(shè)置為True以打印收斂消息,默認(rèn)值:False

autoscale:布爾值,設(shè)置為True以自動(dòng)執(zhí)行平衡,如果約束中的數(shù)值分開幾個(gè)數(shù)量級,請考慮使用此選項(xiàng),默認(rèn)值:False

presolve:布爾值,設(shè)置為False可禁用自動(dòng)預(yù)解析,默認(rèn)值:True

rr:布爾值,設(shè)置為False可禁用自動(dòng)移除冗余,默認(rèn)值:True

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

’‘’

4 輸出格式

‘’‘

x:在滿足約束的情況下將目標(biāo)函數(shù)最小化的決策變量的值;數(shù)據(jù)類型:一維數(shù)組

fun:目標(biāo)函數(shù)的最佳值(c^Tx);數(shù)據(jù)類型:浮點(diǎn)數(shù)

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

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

success:當(dāng)算法成功找到最佳解決方案時(shí)為 True;數(shù)據(jù)類型:布爾值

status:表示算法退出狀態(tài)的整數(shù);數(shù)據(jù)類型:整數(shù)

0 : 優(yōu)化成功終止

1 : 達(dá)到了迭代限制

2 : 問題似乎不可行

3 : 問題似乎是不收斂

4 : 遇到數(shù)值困難

nit:在所有階段中執(zhí)行的迭代總數(shù);數(shù)據(jù)類型:整數(shù)

message:算法退出狀態(tài)的字符串描述符;數(shù)據(jù)類型:字符串 ’‘’

5 例子

import scipy

from scipy import optimize

import numpy

c = numpy.a(chǎn)rray([2,3]) #最值等式未知數(shù)系數(shù)矩陣

A_ub = numpy.a(chǎn)rray([[-1,1],[2,-2]]) #《=不等式左側(cè)未知數(shù)系數(shù)矩陣

B_ub = numpy.a(chǎn)rray([1,1]) #《=不等式右側(cè)常數(shù)矩陣

#A_eq = numpy.a(chǎn)rray() 等式左側(cè)未知數(shù)系數(shù)矩陣

#B_eq = numpy.a(chǎn)rray() 等式右側(cè)常數(shù)矩陣

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

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

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

print(res)

#結(jié)果:無解情況

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])

佐佑思維

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 算法
    +關(guān)注

    關(guān)注

    23

    文章

    4784

    瀏覽量

    98088
  • 函數(shù)
    +關(guān)注

    關(guān)注

    3

    文章

    4417

    瀏覽量

    67547
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    616

    瀏覽量

    29513
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    函數(shù)信號發(fā)生器和任意波形信號發(fā)生器區(qū)別詳解

    函數(shù)發(fā)生器提供了一個(gè)預(yù)置列表,里面列出了它可以生成的波形或碼型。 在函數(shù)發(fā)生器中,用戶可以更改頻率、幅度和偏移等波形參數(shù),還可添加簡單的失真。 任意波形發(fā)生器更為復(fù)雜,能夠仿真真實(shí)世界中的信號
    的頭像 發(fā)表于 02-09 16:24 ?166次閱讀
    <b class='flag-5'>函數(shù)</b>信號發(fā)生器和任意波形信號發(fā)生器區(qū)別<b class='flag-5'>詳解</b>

    指針與函數(shù)詳解

    變量,當(dāng)然也可以作為某個(gè)函數(shù)參數(shù)來使用的。所以,你還應(yīng)知道函數(shù)指針是如何作為某個(gè)函數(shù)參數(shù)來傳遞使用的。 示例代碼如下: #inclu
    發(fā)表于 01-23 06:02

    ElfBoard嵌入式教育科普|Linux系統(tǒng)I/O接口:Open函數(shù)詳解

    1.函數(shù)概述open()是Linux/Unix內(nèi)核提供的底層系統(tǒng)調(diào)用,核心功能是打開或創(chuàng)建文件。成功調(diào)用后,內(nèi)核會(huì)返回一個(gè)整型的文件描述符作為該文件的句柄,后續(xù)的所有讀寫操作都基于此描述符進(jìn)行。調(diào)用
    的頭像 發(fā)表于 12-29 11:41 ?1062次閱讀
    ElfBoard嵌入式教育科普|Linux系統(tǒng)I/O接口:Open<b class='flag-5'>函數(shù)</b><b class='flag-5'>詳解</b>

    函數(shù)調(diào)用性能消耗

    函數(shù)調(diào)用對于處理器的性能消耗是很小的,只占有函數(shù)執(zhí)行工作中性能消耗的一小部分。參數(shù)傳入函數(shù)變量寄存器中有一定的限制。這些參數(shù)必須是整型兼容的
    發(fā)表于 12-12 07:50

    內(nèi)聯(lián)函數(shù)介紹

    ) + square(y)); } 使用內(nèi)聯(lián)函數(shù)的好處如下: 沒有函數(shù)調(diào)用負(fù)擔(dān)。函數(shù)調(diào)用處直接替換為函數(shù)體,因此沒有諸如讀取寄存器變量等性能消耗。 更小的
    發(fā)表于 12-12 07:08

    函數(shù)指針及指針函數(shù)的區(qū)別

    指針的函數(shù),即本質(zhì)是一個(gè)函數(shù)。函數(shù)返回類型是某一類型的指針   類型標(biāo)識符 *函數(shù)名(參數(shù)表)   int *f(x,y);   首先它是一
    發(fā)表于 12-12 06:34

    函數(shù)指針的概念

    函數(shù)指針是指向函數(shù)的指針變量。 通常我們說的指針變量是指向一個(gè)整型、字符型或數(shù)組等變量,而函數(shù)指針是指向函數(shù)。 函數(shù)指針可以像一般
    發(fā)表于 12-11 08:10

    如何用函數(shù)指針調(diào)用函數(shù)

    p*/ p =Func; /*將Func函數(shù)的首地址賦給指針變量p*/ 賦值時(shí)函數(shù) Func 不帶括號,也不帶參數(shù)。由于函數(shù)名 Func 代表
    發(fā)表于 12-11 06:26

    詳解hal_entry入口函數(shù)

    當(dāng)使用RTOS時(shí),程序從main函數(shù)開始進(jìn)行線程調(diào)度;當(dāng)沒有使用RTOS時(shí),C語言程序的入口函數(shù)main函數(shù)調(diào)用了hal_entry函數(shù)。由于我們新建的工程是沒有選用RTOS的,因此,
    的頭像 發(fā)表于 07-25 15:34 ?2007次閱讀

    【HarmonyOS 5】鴻蒙中的UIAbility詳解(三)

    :冷啟動(dòng)與熱啟動(dòng)的Want數(shù)據(jù)處理 1. 冷啟動(dòng)(Cold Start) 應(yīng)用首次啟動(dòng)或被系統(tǒng)完全終止后重新創(chuàng)建。 冷啟動(dòng),應(yīng)用會(huì)從onCreate函數(shù)中進(jìn)入,通過want參數(shù)
    的頭像 發(fā)表于 06-14 22:32 ?757次閱讀

    SSH常用命令詳解

    SSH常用命令詳解
    的頭像 發(fā)表于 06-04 11:30 ?2030次閱讀

    芯片新關(guān)稅涉及的品牌/標(biāo)簽/產(chǎn)地—詳解

    芯片新關(guān)稅涉及的品牌/標(biāo)簽/產(chǎn)地—詳解
    的頭像 發(fā)表于 04-16 17:44 ?1074次閱讀
    芯片新關(guān)稅涉及的品牌/標(biāo)簽/產(chǎn)地—<b class='flag-5'>詳解</b>

    為什么不需要給回調(diào)函數(shù)傳遞參數(shù)

    回調(diào)函數(shù)是C語言里面一個(gè)重要機(jī)制。
    的頭像 發(fā)表于 04-15 10:11 ?851次閱讀

    詳解RTOS中的Hook函數(shù)

    Hook函數(shù)是RTOS中的一個(gè)關(guān)鍵特性,通過該函數(shù),用戶可以增強(qiáng)對任務(wù)管理的控制,定義系統(tǒng)行為。
    的頭像 發(fā)表于 03-24 16:14 ?1090次閱讀

    解鎖TSMaster fifo函數(shù):報(bào)文讀取的高效方法

    前言:TSMaster目前有兩種讀取報(bào)文的模式:回調(diào)函數(shù)模式和fifo模式。fifo函數(shù)是TSMaster近期新增的函數(shù),本文將重點(diǎn)介紹fifo模塊。關(guān)于回調(diào)函數(shù)的使用方法可以參考幫助
    的頭像 發(fā)表于 03-14 20:04 ?1165次閱讀
    解鎖TSMaster fifo<b class='flag-5'>函數(shù)</b>:報(bào)文讀取的高效方法