Python小白的数学建模课-06.固定费用问题
Python 實(shí)例介紹固定費(fèi)用問題的建模與求解。
學(xué)習(xí) PuLP工具包中處理復(fù)雜問題的快捷使用方式。
『Python小白的數(shù)學(xué)建模課 @ Youcans』帶你從數(shù)模小白成為國賽達(dá)人。
前文講到幾種典型的 0-1 規(guī)劃問題,給出了 PuLP 求解的案例。由于 0-1 規(guī)劃問題種類很多,又是數(shù)模競賽熱點(diǎn),有必要再結(jié)合幾個(gè)實(shí)例進(jìn)行介紹。
1. 固定費(fèi)用問題案例解析
1.1 固定費(fèi)用問題(Fixed cost problem)
固定費(fèi)用問題,是指求解生產(chǎn)成本最小問題時(shí),總成本包括固定成本和變動(dòng)成本,而選擇不同生產(chǎn)方式會(huì)有不同的固定成本,因此總成本與選擇的生產(chǎn)方式有關(guān)。
固定費(fèi)用問題,實(shí)際上是互斥的目標(biāo)函數(shù)問題,對于不同的生產(chǎn)方式具有多個(gè)互斥的目標(biāo)函數(shù),但只有一個(gè)起作用。固定費(fèi)用問題不能用一般的線性規(guī)劃模型求解。
一般地,設(shè)有 m 種生產(chǎn)方式可供選擇,采用第 j 種方式時(shí)的固定成本為 KjK_jKj?、變動(dòng)成本為 cjc_jcj?、產(chǎn)量為 xjx_jxj?,則采用各種生產(chǎn)方式的總成本分別為:
minPj={kj+cjxj,xj≥00,xj=0,j=1,...mmin\;P_j = \begin{cases} k_j + c_j x_j,&x_j \geq 0\\ 0,&x_j = 0, j=1,...m \end{cases} minPj?={kj?+cj?xj?,0,?xj?≥0xj?=0,j=1,...m?
該類問題的建模方法,為了構(gòu)造統(tǒng)一的目標(biāo)函數(shù),可以引入 m 個(gè) 0-1 變量 y_j 表示是否采用第 j 種生產(chǎn)方式:
yj={0,不采用第j種生產(chǎn)方式1,采用第j種生產(chǎn)方式y(tǒng)_j = \begin{cases} 0,不采用第\;j\;種生產(chǎn)方式\\ 1,采用第\;j\; 種生產(chǎn)方式 \end{cases} yj?={0,不采用第j種生產(chǎn)方式1,采用第j種生產(chǎn)方式?
于是可以構(gòu)造新的目標(biāo)函數(shù)和約束條件:
minf(x)=∑j=1m(kjyj+cjxj)s.t.:xj≤yjM,j=1,...mmin\;f(x) = \sum_{j=1} ^m (k_j y_j + c_j x_j)\\ s.t.:\;x_j \leq y_j M,j=1,...m minf(x)=j=1∑m?(kj?yj?+cj?xj?)s.t.:xj?≤yj?M,j=1,...m
M 是一個(gè)充分大的常數(shù)。
歡迎關(guān)注『Python小白的數(shù)學(xué)建模課 @ Youcans』系列,每周持續(xù)更新
Python小白的數(shù)學(xué)建模課-01.新手必讀
Python小白的數(shù)學(xué)建模課-02.數(shù)據(jù)導(dǎo)入
Python小白的數(shù)學(xué)建模課-03.線性規(guī)劃
Python小白的數(shù)學(xué)建模課-04.整數(shù)規(guī)劃
Python小白的數(shù)學(xué)建模課-05.0-1規(guī)劃
Python小白的數(shù)學(xué)建模課-06.固定費(fèi)用問題
Python小白的數(shù)學(xué)建模課-07.選址問題
Python小白的數(shù)學(xué)建模課-09.微分方程模型
Python小白的數(shù)學(xué)建模課-10.微分方程邊值問題
Python小白的數(shù)學(xué)建模課-12.非線性規(guī)劃
Python小白的數(shù)學(xué)建模課-15.圖論的基本概念
Python小白的數(shù)學(xué)建模課-16.最短路徑算法
Python小白的數(shù)學(xué)建模課-17.條件最短路徑算法
Python小白的數(shù)學(xué)建模課-18.最小生成樹問題
Python小白的數(shù)學(xué)建模課-19.網(wǎng)絡(luò)流優(yōu)化問題
Python小白的數(shù)學(xué)建模課-20.網(wǎng)絡(luò)流優(yōu)化案例
1.2 案例問題描述
例題 1:
某服裝廠可以生產(chǎn) A、B、C 三種服裝,生產(chǎn)不同種類服裝需要租用不同設(shè)備,設(shè)備租金、生產(chǎn)成本、銷售價(jià)格等指標(biāo)如下表所示。
| 單位 | (元) | (元/件) | (元/件) | (小時(shí)/件) | (小時(shí)/件) | (小時(shí)) |
| A | 5000 | 280 | 400 | 5 | 3 | 300 |
| B | 2000 | 30 | 40 | 1 | 0.5 | 300 |
| C | 2000 | 200 | 300 | 4 | 2 | 300 |
如果各類服裝的市場需求都足夠大,服裝廠每月可用人工時(shí)為 2000h,那么應(yīng)該如何安排生產(chǎn)計(jì)劃使利潤最大?
1.3 建模過程分析
首先要理解生產(chǎn)某種服裝就會(huì)發(fā)生設(shè)備租金,租金只與是否生產(chǎn)該產(chǎn)品有關(guān),而與生產(chǎn)數(shù)量無關(guān),這就是固定成本。因此本題屬于固定費(fèi)用問題。
有些同學(xué)下意識(shí)地認(rèn)為是從 3 種產(chǎn)品中選擇一種,但題目中并沒有限定必須或只能生產(chǎn)一種產(chǎn)品,因此決策結(jié)果可以是都不生產(chǎn)、選擇 1 種或 2 種產(chǎn)品、3 種都生產(chǎn)。
決策結(jié)果會(huì)是什么都不生產(chǎn)嗎?有可能的。
每種產(chǎn)品的利潤:(銷售價(jià)格 - 材料成本)× 生產(chǎn)數(shù)量 - 設(shè)備租金
本題中如果設(shè)備租金很高,決策結(jié)果就可能是什么都不做時(shí)利潤最大,這是利潤為 0,至少不虧。
現(xiàn)在可以用固定費(fèi)用問題的數(shù)學(xué)模型來描述問題了:
設(shè) xix_ixi? 為是否生產(chǎn)第 iii 種服裝,xix_ixi? 是 0/1變量:
xi={0,不生產(chǎn)第i種服裝1,生產(chǎn)第i種服裝,i=1,2,3x_i = \begin{cases} 0,不生產(chǎn)第\;i\;種服裝\\ 1,生產(chǎn)第\;i\;種服裝,i=1,2,3 \end{cases} xi?={0,不生產(chǎn)第i種服裝1,生產(chǎn)第i種服裝,i=1,2,3?
設(shè) yiy_iyi? 為生產(chǎn)第 iii 種服裝的數(shù)量, yiy_iyi? 是整數(shù)類型。說 yiy_iyi? 是實(shí)數(shù)變量的同學(xué),你經(jīng)常穿半條褲子嗎?
根據(jù)條件確定決策變量的取值范圍。例如,本例中的產(chǎn)量 yiy_iyi? 顯然要大于等于 0。進(jìn)一步地,題目并沒有直接給出 yiy_iyi? 的取值上限,但可以從設(shè)備單件工時(shí)與設(shè)備可用工時(shí)的關(guān)系推導(dǎo)出取值上限為 [100, 600, 150],也可以從單位人工工時(shí)與人工可用工時(shí)的關(guān)系推導(dǎo)出上限 [400, 2000, 500],最后取較小者為 [100, 600, 150]。
數(shù)學(xué)模型就可以表達(dá)為:
maxz=120y1+10y2+100y3?5000x1?2000x2?2000x3s.t.:{5y1+y2+4y3≤20003y1≤300x10.5y2≤300x22y3≤300x30≤y1≤1000≤y2≤6000≤y3≤150max\; z = 120 y_1 + 10 y_2 + 100 y_3 - 5000 x_1 - 2000 x_2 - 2000 x_3\\ s.t.:\;\begin{cases} 5 y_1 + y_2 + 4 y_3 \leq 2000\\ 3 y_1 \leq 300 x_1\\ 0.5 y_2 \leq 300 x_2\\ 2 y_3 \leq 300 x_3 \\ 0 \leq y_1 \leq 100\\ 0 \leq y_2 \leq 600\\ 0 \leq y_3 \leq 150\\ \end{cases} maxz=120y1?+10y2?+100y3??5000x1??2000x2??2000x3?s.t.:????????????????????????5y1?+y2?+4y3?≤20003y1?≤300x1?0.5y2?≤300x2?2y3?≤300x3?0≤y1?≤1000≤y2?≤6000≤y3?≤150?
1.4 PuLP 求解固定費(fèi)用問題的編程
編程求解建立的數(shù)學(xué)模型,用標(biāo)準(zhǔn)模型的優(yōu)化算法對模型求解,得到優(yōu)化結(jié)果。
模型求解的編程步驟與之前的線性規(guī)劃、整數(shù)規(guī)劃問題并沒有什么區(qū)別,這就是 PuLP工具包的優(yōu)勢。
(0)導(dǎo)入 PuLP庫函數(shù)
import pulp(1)定義一個(gè)規(guī)劃問題
FixedCostP1 = pulp.LpProblem("Fixed_cost_problem", sense=pulp.LpMaximize) # 定義問題,求最大值pulp.LpProblem 用來定義問題的構(gòu)造函數(shù)。"FixedCostP1"是用戶定義的問題名。
參數(shù) sense 指定問題求目標(biāo)函數(shù)的最小值/最大值 。本例求最大值,選擇 “pulp.LpMaximize” 。
(2)定義決策變量
x1 = pulp.LpVariable('A', cat='Binary') # 定義 x1,0-1變量,是否生產(chǎn) A 產(chǎn)品x2 = pulp.LpVariable('B', cat='Binary') # 定義 x2,0-1變量,是否生產(chǎn) B 產(chǎn)品x3 = pulp.LpVariable('C', cat='Binary') # 定義 x3,0-1變量,是否生產(chǎn) C 產(chǎn)品y1 = pulp.LpVariable('yieldA', lowBound=0, upBound=100, cat='Integer') # 定義 y1,整型變量y2 = pulp.LpVariable('yieldB', lowBound=0, upBound=600, cat='Integer') # 定義 y2,整型變量y3 = pulp.LpVariable('youCans', lowBound=0, upBound=150, cat='Integer') # 定義 y3,整型變量pulp.LpVariable 用來定義決策變量的函數(shù)。參數(shù) cat 用來設(shè)定變量類型,’ Binary ’ 表示0/1變量(用于0/1規(guī)劃問題),’ Integer ’ 表示整數(shù)變量。‘lowBound’、‘upBound’ 分別表示變量取值范圍的下限和上限。
(3)添加目標(biāo)函數(shù)
FixedCostP1 += pulp.lpSum(-5000*x1-2000*x2-2000*x3+120*y1+10*y2+100*y3) # 設(shè)置目標(biāo)函數(shù) f(x)(4)添加約束條件
FixedCostP1 += (5*y1 + y2 + 4*y3 <= 2000) # 不等式約束FixedCostP1 += (3*y1 - 300*x1 <= 0) # 不等式約束FixedCostP1 += (0.5*y2 - 300*x2 <= 0) # 不等式約束FixedCostP1 += (2*y3 - 300*x3 <= 0) # 不等式約束添加約束條件使用 “問題名 += 約束條件表達(dá)式” 格式。
約束條件可以是等式約束或不等式約束,不等式約束可以是 小于等于 或 大于等于,分別使用關(guān)鍵字">="、"<=“和”=="。
(5)求解
FixedCostP1.solve()solve() 是求解函數(shù),可以對求解器、求解精度進(jìn)行設(shè)置。
1.5 Python 例程:固定費(fèi)用問題
# mathmodel07_v1.py # Demo05 of mathematical modeling algorithm # Solving assignment problem with PuLP. # Copyright 2021 Youcans, XUPT # Crated:2021-06-04 # Python小白的數(shù)學(xué)建模課 @ Youcansimport pulp # 導(dǎo)入 pulp 庫# 主程序 def main():# 固定費(fèi)用問題(Fixed cost problem)print("固定費(fèi)用問題(Fixed cost problem)")# 問題建模:"""決策變量:y(i) = 0, 不生產(chǎn)第 i 種產(chǎn)品y(i) = 1, 生產(chǎn)第 i 種產(chǎn)品 x(i), 生產(chǎn)第 i 種產(chǎn)品的數(shù)量, i>=0 整數(shù)i=1,2,3目標(biāo)函數(shù):min profit = 120x1 + 10x2+ 100x3 - 5000y1 - 2000y2 - 2000y3約束條件:5x1 + x2 + 4x3 <= 20003x1 <= 300y10.5x2 <= 300y22x3 <= 300y3變量取值范圍:Youcans XUPT0<=x1<=100, 0<=x2<=600, 0<=x3<=150, 整數(shù)變量y1, y2 ,y3 為 0/1 變量 """# 1. 固定費(fèi)用問題(Fixed cost problem), 使用 PuLP 工具包求解# (1) 建立優(yōu)化問題 FixedCostP1: 求最大值(LpMaximize)FixedCostP1 = pulp.LpProblem("Fixed_cost_problem_1", sense=pulp.LpMaximize) # 定義問題,求最大值# (2) 建立變量x1 = pulp.LpVariable('A', cat='Binary') # 定義 x1,0-1變量,是否生產(chǎn) A 產(chǎn)品x2 = pulp.LpVariable('B', cat='Binary') # 定義 x2,0-1變量,是否生產(chǎn) B 產(chǎn)品x3 = pulp.LpVariable('C', cat='Binary') # 定義 x3,0-1變量,是否生產(chǎn) C 產(chǎn)品y1 = pulp.LpVariable('yieldA', lowBound=0, upBound=100, cat='Integer') # 定義 y1,整型變量y2 = pulp.LpVariable('yieldB', lowBound=0, upBound=600, cat='Integer') # 定義 y2,整型變量y3 = pulp.LpVariable('yieldC', lowBound=0, upBound=150, cat='Integer') # 定義 y3,整型變量# (3) 設(shè)置目標(biāo)函數(shù)FixedCostP1 += pulp.lpSum(-5000*x1-2000*x2-2000*x3+120*y1+10*y2+100*y3) # 設(shè)置目標(biāo)函數(shù) f(x)# (4) 設(shè)置約束條件FixedCostP1 += (5*y1 + y2 + 4*y3 <= 2000) # 不等式約束FixedCostP1 += (3*y1 - 300*x1 <= 0) # 不等式約束FixedCostP1 += (0.5*y2 - 300*x2 <= 0) # 不等式約束FixedCostP1 += (2*y3 - 300*x3 <= 0) # 不等式約束# (5) 求解 youcansFixedCostP1.solve()# (6) 打印結(jié)果print(FixedCostP1.name)if pulp.LpStatus[FixedCostP1.status] == "Optimal": # 獲得最優(yōu)解for v in FixedCostP1.variables(): # youcansprint(v.name, "=", v.varValue) # 輸出每個(gè)變量的最優(yōu)值print("Youcans F(x) = ", pulp.value(FixedCostP1.objective)) # 輸出最優(yōu)解的目標(biāo)函數(shù)值returnif __name__ == '__main__': # Copyright 2021 YouCans, XUPTmain() # Python小白的數(shù)學(xué)建模課 @ Youcans1.6 Python 例程運(yùn)行結(jié)果
Welcome to the CBC MILP Solver Version: 2.9.0 Build Date: Feb 12 2015 Result - Optimal solution foundFixed_cost_problem_1 A = 1.0 B = 1.0 C = 1.0 yieldA = 100.0 yieldB = 600.0 yieldC = 150.0 Max F(x) = 24000.0從固定費(fèi)用問題模型的求解結(jié)果可知,A、B、C 三種服裝都生產(chǎn),產(chǎn)量分別為 A/100、B/600、C/150 時(shí)獲得最大利潤為:24000。
2. PuLP 求解規(guī)劃問題的快捷方法
2.1 PuLP 求解固定費(fèi)用問題的編程
通過從線性規(guī)劃、整數(shù)規(guī)劃、0-1規(guī)劃到上例中的混合0-1規(guī)劃問題,我們已經(jīng)充分體會(huì)到 PuLP 使用相同的步驟和參數(shù)處理不同問題所帶來的便利。
但是,如果問題非常復(fù)雜,例如變量數(shù)量很多,約束條件復(fù)雜,逐個(gè)定義變量、逐項(xiàng)編寫目標(biāo)函數(shù)與約束條件的表達(dá)式,不僅顯得重復(fù)冗長,不方便修改對變量和參數(shù)的定義,而且在輸入過程中容易發(fā)生錯(cuò)誤。因此,我們希望用字典、列表、循環(huán)等快捷方法來進(jìn)行變量定義、目標(biāo)函數(shù)和約束條件設(shè)置。
PuLP 提供了快捷建模的編程方案,下面我們?nèi)砸陨瞎?jié)中的固定費(fèi)用問題為例進(jìn)行介紹。本例中的問題、條件和參數(shù)都與上節(jié)完全相同,以便讀者進(jìn)行對照比較快捷方法的具體內(nèi)容。
(0)導(dǎo)入 PuLP 庫函數(shù)
import pulp(1)定義一個(gè)規(guī)劃問題
FixedCostP2 = pulp.LpProblem("Fixed_cost_problem", sense=pulp.LpMaximize) # 定義問題,求最大值(2)定義決策變量
types = ['A', 'B', 'C'] # 定義產(chǎn)品種類status = pulp.LpVariable.dicts("生產(chǎn)決策", types, cat='Binary') # 定義 0/1 變量,是否生產(chǎn)該產(chǎn)品yields = pulp.LpVariable.dicts("生產(chǎn)數(shù)量", types, lowBound=0, upBound=600, cat='Integer') # 定義整型變量本例中的快捷方法使用列表 types 定義 0/1 變量 status 和 整型變量 yields,不論產(chǎn)品的品種有多少,都只有以上幾句,從而使程序大為簡化。
(3)添加目標(biāo)函數(shù)
fixedCost = {'A':5000, 'B':2000, 'C':2000} # 各產(chǎn)品的 固定費(fèi)用unitProfit = {'A':120, 'B':10, 'C':100} # 各產(chǎn)品的 單位利潤FixedCostP2 += pulp.lpSum([(yields[i]*unitProfit[i]- status[i]*fixedCost[i]) for i in types])雖然看起來本例中定義目標(biāo)函數(shù)的程序語句較長,但由于使用字典定義參數(shù)、使用 for 循環(huán)定義目標(biāo)函數(shù),因此程序更加清晰、簡明、便于修改參數(shù)、不容易輸入錯(cuò)誤。
(4)添加約束條件
humanHours = {'A':5, 'B':1, 'C':4} # 各產(chǎn)品的 單位人工工時(shí)machineHours = {'A':3.0, 'B':0.5, 'C':2.0} # 各產(chǎn)品的 單位設(shè)備工時(shí)maxHours = {'A':300, 'B':300, 'C':300} # 各產(chǎn)品的 最大設(shè)備工時(shí)FixedCostP2 += pulp.lpSum([humanHours[i] * yields[i] for i in types]) <= 2000 # 不等式約束for i in types:FixedCostP2 += (yields[i]*machineHours[i] - status[i]*maxHours[i] <= 0) # 不等式約束快捷方法對于約束條件的定義與對目標(biāo)函數(shù)的定義相似,使用字典定義參數(shù),使用循環(huán)定義約束條件,使程序簡單、結(jié)構(gòu)清楚。
注意本例使用了兩種不同的循環(huán)表達(dá)方式:語句內(nèi)使用 for 循環(huán)遍歷列表實(shí)現(xiàn)所有變量的線性組合,標(biāo)準(zhǔn)的 for 循環(huán)結(jié)構(gòu)實(shí)現(xiàn)多組具有相似結(jié)構(gòu)的約束條件。讀者可以對照數(shù)學(xué)模型及上例的例程,理解這兩種定義約束條件的快捷方法。
(5)求解和結(jié)果的輸出
# (5) 求解FixedCostP2.solve()# (6) 打印結(jié)果print(FixedCostP2.name)temple = "品種 %(type)s 的決策是:%(status)s,生產(chǎn)數(shù)量為:%(yields)d"if pulp.LpStatus[FixedCostP2.status] == "Optimal": # 獲得最優(yōu)解for i in types:output = {'type': i,'status': '同意' if status[i].varValue else '否決','yields': yields[i].varValue}print(temple % output) # youcans@qq.comprint("最大利潤 = ", pulp.value(FixedCostP2.objective)) # 輸出最優(yōu)解的目標(biāo)函數(shù)值由于快捷方法使用列表或字典定義變量,對求解的優(yōu)化結(jié)果也便于實(shí)現(xiàn)結(jié)構(gòu)化的輸出。
2.2 Python 例程:PuLP 快捷方法
# mathmodel07_v1.py # Demo05 of mathematical modeling algorithm # Solving assignment problem with PuLP. # Copyright 2021 Youcans, XUPT # Crated:2021-06-04 # Python小白的數(shù)學(xué)建模課 @ Youcansimport pulp # 導(dǎo)入 pulp 庫# 主程序 def main():# 2. 問題同上,PuLP 快捷方法示例# (1) 建立優(yōu)化問題 FixedCostP2: 求最大值(LpMaximize)FixedCostP2 = pulp.LpProblem("Fixed_cost_problem_2", sense=pulp.LpMaximize) # 定義問題,求最大值# (2) 建立變量types = ['A', 'B', 'C'] # 定義產(chǎn)品種類status = pulp.LpVariable.dicts("生產(chǎn)決策", types, cat='Binary') # 定義 0/1 變量,是否生產(chǎn)該產(chǎn)品yields = pulp.LpVariable.dicts("生產(chǎn)數(shù)量", types, lowBound=0, upBound=600, cat='Integer') # 定義整型變量# (3) 設(shè)置目標(biāo)函數(shù)fixedCost = {'A':5000, 'B':2000, 'C':2000} # 各產(chǎn)品的 固定費(fèi)用unitProfit = {'A':120, 'B':10, 'C':100} # 各產(chǎn)品的 單位利潤FixedCostP2 += pulp.lpSum([(yields[i]*unitProfit[i]- status[i]*fixedCost[i]) for i in types])# (4) 設(shè)置約束條件humanHours = {'A':5, 'B':1, 'C':4} # 各產(chǎn)品的 單位人工工時(shí)machineHours = {'A':3.0, 'B':0.5, 'C':2.0} # 各產(chǎn)品的 單位設(shè)備工時(shí)maxHours = {'A':300, 'B':300, 'C':300} # 各產(chǎn)品的 最大設(shè)備工時(shí)FixedCostP2 += pulp.lpSum([humanHours[i] * yields[i] for i in types]) <= 2000 # 不等式約束for i in types:FixedCostP2 += (yields[i]*machineHours[i] - status[i]*maxHours[i] <= 0) # 不等式約束# (5) 求解 youcansFixedCostP2.solve()# (6) 打印結(jié)果print(FixedCostP2.name)temple = "品種 %(type)s 的決策是:%(status)s,生產(chǎn)數(shù)量為:%(yields)d"if pulp.LpStatus[FixedCostP2.status] == "Optimal": # 獲得最優(yōu)解for i in types:output = {'type': i,'status': '同意' if status[i].varValue else '否決','yields': yields[i].varValue}print(temple % output)print("最大利潤 = ", pulp.value(FixedCostP2.objective)) # 輸出最優(yōu)解的目標(biāo)函數(shù)值returnif __name__ == '__main__': # Copyright 2021 YouCans, XUPTmain() # Python小白的數(shù)學(xué)建模課 @ Youcans2.3 Python 例程運(yùn)行結(jié)果
Welcome to the CBC MILP Solver Version: 2.9.0 Build Date: Feb 12 2015 Result - Optimal solution foundFixed_cost_problem_2 品種 A 的決策是:同意,生產(chǎn)數(shù)量為:100 品種 B 的決策是:同意,生產(chǎn)數(shù)量為:600 品種 C 的決策是:同意,生產(chǎn)數(shù)量為:150 最大利潤 = 24000.0本例的問題、條件和參數(shù)都與上節(jié)完全相同,只是采用 PuLP 提供的快捷建模的編程方案,優(yōu)化結(jié)果也與 PuLP 標(biāo)準(zhǔn)方法完全相同,但本例使用了結(jié)構(gòu)化的輸出顯示,使輸出結(jié)果更為直觀。
3. 課后練習(xí)
【本節(jié)完】
版權(quán)聲明:
歡迎關(guān)注『Python小白的數(shù)學(xué)建模課 @ Youcans』 原創(chuàng)作品,持續(xù)更新中
原創(chuàng)作品,轉(zhuǎn)載必須標(biāo)注原文鏈接:(https://blog.csdn.net/youcans/article/details/117618928)。
Copyright 2021 Youcans, XUPT
Crated:2021-06-04
歡迎關(guān)注 『Python小白的數(shù)學(xué)建模課 @ Youcans』 系列,持續(xù)更新
Python小白的數(shù)學(xué)建模課-01.新手必讀
Python小白的數(shù)學(xué)建模課-02.數(shù)據(jù)導(dǎo)入
Python小白的數(shù)學(xué)建模課-03.線性規(guī)劃
Python小白的數(shù)學(xué)建模課-04.整數(shù)規(guī)劃
Python小白的數(shù)學(xué)建模課-05.0-1規(guī)劃
Python小白的數(shù)學(xué)建模課-06.固定費(fèi)用問題
Python小白的數(shù)學(xué)建模課-07.選址問題
Python小白的數(shù)學(xué)建模課-09.微分方程模型
Python小白的數(shù)學(xué)建模課-10.微分方程邊值問題
Python小白的數(shù)學(xué)建模課-12.非線性規(guī)劃
Python小白的數(shù)學(xué)建模課-15.圖論的基本概念
Python小白的數(shù)學(xué)建模課-16.最短路徑算法
Python小白的數(shù)學(xué)建模課-17.條件最短路徑算法
Python小白的數(shù)學(xué)建模課-18.最小生成樹問題
Python小白的數(shù)學(xué)建模課-19.網(wǎng)絡(luò)流優(yōu)化問題
Python小白的數(shù)學(xué)建模課-20.網(wǎng)絡(luò)流優(yōu)化案例
Python小白的數(shù)學(xué)建模課-A1.國賽賽題類型分析
Python小白的數(shù)學(xué)建模課-A2.2021年數(shù)維杯C題探討
Python小白的數(shù)學(xué)建模課-A3.12個(gè)新冠疫情數(shù)模競賽賽題及短評
Python小白的數(shù)學(xué)建模課-B2. 新冠疫情 SI模型
Python小白的數(shù)學(xué)建模課-B3. 新冠疫情 SIS模型
Python小白的數(shù)學(xué)建模課-B4. 新冠疫情 SIR模型
Python小白的數(shù)學(xué)建模課-B5. 新冠疫情 SEIR模型
Python小白的數(shù)學(xué)建模課-B6. 新冠疫情 SEIR改進(jìn)模型
Python數(shù)模筆記-PuLP庫
Python數(shù)模筆記-StatsModels統(tǒng)計(jì)回歸
Python數(shù)模筆記-Sklearn
Python數(shù)模筆記-NetworkX
Python數(shù)模筆記-模擬退火算法
總結(jié)
以上是生活随笔為你收集整理的Python小白的数学建模课-06.固定费用问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: html里面Meta标签的使用
- 下一篇: 【OpenCV 例程200篇】53. S