Python 板


LINE

※ 引述《zz860619 (Kukuboo)》之銘言: : 各位大大晚安 最近小弟在寫一個小專題 : 題目簡單說就是分配航段內航班給各個航空公司 : 譬如我這個航段裡總共有10個航班要分配給2個航空公司 : 這樣就有可能是(0,10) (1,9)以此類推 : 航班數跟航空公司小還好說,分配的航空公司一多,想求出每種可能性就要跑半天,不知 : 道有沒有更快求出的寫法? : 以下是目前寫的 a就是當下的可能性 : total =4 #總共要分配的航班數 : num = 3 #分給幾家航空公司 : a = [0 for x in range(num)] : def per (fas_total,air_number,num): : if air_number == 1: : a[num-air_number] = fas_total : print(a) : print("========================") : else: : for i in range(fas_total+1): : a[num-air_number] = i : per(fas_total-i,air_number-1,num) : per(total,num,num) : 希望有人可以幫忙我一下,謝謝~ 針對你真正的問題「求所有可能組合中的最佳解」 這個問題是NP-complete的問題(我想應該可以轉換成某種weighted vertex cover, 還煩請高手指正) 所以如果沒有更多條件的話,用暴力解(就是你現在的作法)不要太期待會有很快得到 解答的方法。 你可以想想看,光「航空公司含有航班數量」的組合就有H^m_n種可能(例如, 你的範例會有11種),還要考慮航班的排列情況。 比較好的方法是利用已知條件減少搜尋的數量。 看你的code,你可能真正的code是把print那行改成計算cost的function。如果是這樣, 那就是DFS的搜尋,也許可以減枝吧?在下一層遞迴前把不可能的情況跳過,可以少算很多。 我的意思是,感覺你還沒有深入想想這個問題適合的演算法,就想優化code。 錯誤的演算法在數量級太大的時候是不實際的。 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.44.244.126
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Python/M.1543676101.A.986.html
1F:→ zz860619: 好的謝謝 我會再想想這個問題的解法 12/02 13:33
2F:推 qwaszx780917: 聽起來很像整數規劃裡的指派問題 概念蠻簡單的建議 12/03 12:36
3F:→ qwaszx780917: 可以看看 或是一些作業研究裡面比較適合的方法 應 12/03 12:36
4F:→ qwaszx780917: 該把model列好 都會有現成的套件可以解 不過問題如 12/03 12:36
5F:→ qwaszx780917: 果太大的話 效能考量上應該就建議用一些優化演算法 12/03 12:36
6F:→ qwaszx780917: 個人淺見 12/03 12:36







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP