作者tropical72 (我的血有鐵的味道...)
看板C_and_CPP
標題[問題] 線性規劃問題
時間Mon Aug 31 15:40:41 2009
我想有些人有用過 LINGO 這套軟體
之前我一直以為 C 語言寫線性規劃應該是蠻簡單的事
不過最近朋友拿一個問題給我
我發現我錯得誇張
題目我就不 PO 上來了 (畢竟沒有什麼太大意義)
我整理的問題直接在下面
//====================================================
假設今天的限制式是
0 < x1,x2, ...., x100 < 200
x1+.....+x100 < 5000
x1 + x2 < 380
x4 + x7 < 360
....
要算的是 max (c1x1+c2x2+.......+c100x100)
假設 c1~c100 都是已知,但範圍不拘(有正有負) 要求的是 x1~x100
難不成回圈要寫100層嗎? = =
//====================================================
這個問題之後
我連想到的是另一個例子: 字典檔!
生成字串長度為 1 - 100 的字典檔(使用 ASCII 'a' - 'z' 就好)
("a" "b"....."z" )
("aa" "ab"...."az")
("ba" "bb"...."bz")
.....
("z................z") (100個z)
請問這個字典檔該如何生成?
我想都是類似的用 100 個 for 回圈
但不知道有沒有特殊的技巧或是演算法
希望各位先進能不吝指教提出相關的經驗
或是這已經有解法的演算法了 能否不吝點出演算法名稱?
若能有演算法的介紹或說明網頁那小弟更加感激!
小弟先在此謝謝各位了
/====================================================
--
我期待 我等待
肩狹骨上的翅膀早些長出來
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.195.165.145
→ tropical72:沒說清楚, 那個數學式也是我假設的,可能不漂亮 08/31 15:41
→ tropical72:是用來說明有沒有可以解連續100個loop的技巧 08/31 15:42
推 LPH66:後一個 有叫做遞迴的做法 08/31 16:52
→ tomore:是100個for迴圈還是for迴圈執行100次? 08/31 16:54
推 ledia:迴圈 100 層, 你是想暴力解嗎? 建議你參考線性規劃的解法 08/31 17:13
→ ledia:(我是指第一個例子) 08/31 17:14
→ ledia:第二個假設你有無窮的硬碟空間, 那麼有個簡單的作法 08/31 17:15
→ ledia:先在檔案裡放 26 行分別是 a ~ z 08/31 17:16
→ ledia:之後執行 99 次, 每次拿出一行, 並且把該行 append a ~ z 和 08/31 17:16
→ ledia:自己本身輸出 08/31 17:17
→ ledia:這樣就不用考慮什麼迴圈遞迴的問題了 XD 08/31 17:17
推 idicivik:不是有什麼 大M法則 與二階段法則嗎?? 08/31 22:40
→ tropical72:請問解線性規劃有沒有參考的書目? 08/31 23:18
→ tropical72:希望是數學式為主(畢竟要轉成程式語言) 08/31 23:19
推 stupidbear:去找數值分析的書阿,有些是用C語言寫的 09/05 10:52