開心農場作物種植最佳化模型

這篇文章本來應該要貼到FB上面去,但FB的部落格沒辦法搞字型的上下標,只好在這邊貼一下了。

肥料價格陣列F=[50,350,1000]
作物各階段生長時間T=[a,b,c,d,e,f,g,h,i,j,k] →給定常數,各作物不同
作物總收益=DefaultProfit →給定常數
種子價格=SeedCost →給定常數

Objective:
Min GrowthTime

St.
1. GrowthTime=S1+S2+S3+S4+S5+S6+S7+S8+S9+S10+S11
(S1代表階段1的實際成長時間,依此類推)

2. For i=1 to 11
      Si=T[i]-Xi1-2.5×Xi2-5.5×Xi3
      Xi1+Xi2+Xi3=1
      Xi1={0,1}
      Xi2={0,1}
      Xi3={0,1}
    End For Loop

3. GrowthTime>0

4. FinalProfit=DefaultProfit-ΣXij×F[j]-SeedCost
(i=1 to 11, j=1 to 3)

5. FinalProfit≧0

    模型大致上就是這樣,基本上所有作物都要先長5個階段,只能收成一次的長完5階段就沒了,能收成第二次的就有6、7階段,能收成第三次的就有6到9階段,能收成第四次的就有6到11階段。

    我本來有考慮是要用OR軟體下去求解、還是要搬出Genetic Algorithm來玩玩?但想想應該是都不用。因為真正的變數不過是33個Xij,每個又只有0或1兩種變化,就算窮舉,也不過是2的33次方次運算而已,叫電腦重複算個8G次,實在沒什麼。

    但分析一下其實又不用算這麼多次,因為每個階段只能用一次化肥,所以當i=1時,X11、X12、X13的組合也只能有4種:[0,0,0]、[1,0,0]、[0,1,0]、[0,0,1],其他的4種不合規定就連算都不用算,直接跳過。因此解空間又再度縮限成4的11次方,只不過是算個4M次而已,小事一件。

    後面的事情我也沒啥力氣去做,那位台中的賴教授,就麻煩您了~

Advertisements
本篇發表於 遊戲。將永久鏈結加入書籤。

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s