from pymprog import *
# 資料
# 星期 \ 輪班
a = [
(1, 0, 0, 1, 1, 1, 1),
(1, 1, 0, 0, 1, 1, 1),
(1, 1, 1, 0, 0, 1, 1),
(1, 1, 1, 1, 0, 0, 1),
(1, 1, 1, 1, 1, 0, 0),
(0, 1, 1, 1, 1, 1, 0),
(0, 0, 1, 1, 1, 1, 1)
]# 需求人數
b = (20, 16, 13, 16, 19, 14, 12)
# 星期
c =
print("星期\輪班\n", a)
print("\n需求人數\n", b)
print("\n星期\n", c)
#模型及求解
begin('onduty')
x = var('x',len(a),kind=int) # 值班人數,決策變數
minimize(sum(x[i] for i in range(len(x))), '最少人數') # 目標函式
for i in range(len(x)): # 值班人數 >= 需求人數
sum(a[i][j]*x[j] for j in range(len(x))) >= b[i]
def report():
print("\n人員安排")
for i in range(len(x)):
if x[i].primal > 0.5:
print(c[i],":",int(x[i].primal))
print('最少人數:',int(vobj()))
solve()
report()
end()
星期\輪班
[(1, 0, 0, 1, 1, 1, 1), (1, 1, 0, 0, 1, 1, 1), (1, 1, 1, 0, 0, 1, 1), (1, 1, 1, 1, 0, 0, 1), (1, 1, 1, 1, 1, 0, 0), (0, 1, 1, 1, 1, 1, 0), (0, 0, 1, 1, 1, 1, 1)]
需求人數
(20, 16, 13, 16, 19, 14, 12)
星期人員安排
星期一 : 8
星期二 : 2
星期四 : 6
星期五 : 3
星期六 : 3
最少人數: 22
pymprog庫應用(五)運輸問題
需要虛擬乙個銷地b4,可以理解為庫存。from pymprog import 資料 a a1 a2 a3 產地 b b1 b2 b3 b4 銷地 產地,銷地 運價 c 6 2,6 0 4,9 5,0 5 2,1 0 price dict for i in a for j in b price i,j...
資料庫原理及應用 四 資料庫管理系統
資料庫管理系統中非常重要的一部分。按照一定的規則將語句變化成關係代數以後進行優化 對代數優化後的查詢樹使用比較好的方法進行查詢。主要是對連線運算進行優化 備份 完整備份 差異備份 日誌 事務的特性由dbms負責維護,因此對於需要使用事務來進行執行的sql語句,我們要定義在事務中。如果沒有顯式地建立事...
資料庫技術應用的四個方向
資料庫技術發展和大多數領域發展一樣,必將是應用驅動和技術驅動相結合。傳統的關聯式資料庫,由於其自身的侷限性,在使用中受到了很多限制,在搜尋 多 企業內容管理 計算機輔助設計等方面,資料庫技術幾乎很少涉足,如能在以下4個方面完善資料庫技術,資料庫將獲取更大市場。方向1.實現非結構化資料管理 如果誰能控...