看板 Visual_Basic 關於我們 聯絡資訊
這種問題如果要用 Excel 解的話,其實不用寫 VBA,用規劃求解就可以了。 找十六個儲存格,各自代表 a~p,然後把你的條件都寫進規劃求解 ( 包括 a~p 都是正整數 ),然後讓 Excel 自己去跑。之前有人講到演算法,其實 Excel 的規劃求解用的演算法也不簡單,不是像你這樣只會寫好多層迴圈來 處理問題的人,可以想出來的,所以不如直接用現成的。 會寫 VBA 不代表真的會用 Excel,知道怎麼善用 Excel 既有的增益集和 現成的工具,解決所面對的問題,才算是真的了解 Excel。 ※ 引述《kain1230 (簡單至上)》之銘言: : 不好意思,最近和學生在討論一個填數問題,目前遇到組合大過龐大, : 因此人工計算過於繁複,想藉助Excel來解決, : 我們有16個變量 a,b,c,...,p : 每個變量都是1到16的正整數,且各自彼此都不同, : 我們處理得到的方程有以下幾個 : a+b+c+d+e+f+g=49 : 2*b+c+2*d+e+2*f+g=87 : h+i+j=d+e+f -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.35.152.204
lion21:各自彼此都不同 要用到排列組合 規劃求解能解嗎? 01/30 09:27
Bedlem:用 a<>b,b<>c,c<>d ... 等條件加入規劃求解的條件式 02/10 23:30
Bedlem:再設定是整數解,不就可以了? 符合條件的組合不會太多 02/10 23:31