作者Tampa (光芒)
看板Visual_Basic
標題[VBA ] 規劃求解
時間Sat Nov 19 17:08:47 2016
各位大大好
我用的是excel 2010
有試著錄製一段規劃求解的巨集
程式碼如下
快速鍵: Ctrl+s
'
SolverOk SetCell:="$AB$2", MaxMinVal:=2, ValueOf:=0, ByChange:="$G$2",
Engine:= _
3, EngineDesc:="Evolutionary"
SolverDelete CellRef:="$G$3432", Relation:=1, FormulaText:="48"
SolverAdd CellRef:="$G$2", Relation:=1, FormulaText:="$E$2"
SolverOk SetCell:="$AB$2", MaxMinVal:=2, ValueOf:=0, ByChange:="$G$2",
Engine:= _
3, EngineDesc:="Evolutionary"
SolverDelete CellRef:="$G$3432", Relation:=4
SolverAdd CellRef:="$G$2", Relation:=4, FormulaText:="整數"
SolverOk SetCell:="$AB$2", MaxMinVal:=2, ValueOf:=0, ByChange:="$G$2",
Engine:= _
3, EngineDesc:="Evolutionary"
SolverDelete CellRef:="$G$3432", Relation:=3, FormulaText:="0"
SolverAdd CellRef:="$E$2", Relation:=3, FormulaText:="0"
SolverOk SetCell:="$AB$2", MaxMinVal:=2, ValueOf:=0, ByChange:="$G$2",
Engine:= _
3, EngineDesc:="Evolutionary"
SolverOk SetCell:="$AB$2", MaxMinVal:=2, ValueOf:=0, ByChange:="$G$2",
Engine:= _
3, EngineDesc:="Evolutionary"
SolverSolve
End Sub
簡單來說
我輸入變數在G欄位的所有儲存格,範圍從G2到G17860,限制式如下
G2<=E2
G2>=0
G2=整數
求AB2的最小值
.
.
.
G3<=E3
G3>=0
G3=整數
求AB3的最小值
.
.一直到
.
G17860<=E17860
G17860>=0
G17860=整數
求AB17860的最小值
巨集結束
問題一:規劃求解似乎不能直接用複製來做
所以需要用巨集,但小弟我 對程式碼不很了解
所以附上程式碼,希望各位大大可以指點一下,需要修改哪幾個地方
以方便我順利求解
ps計算方式為演化
感謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.225.188.16
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Visual_Basic/M.1479546529.A.65E.html
※ Tampa:轉錄至看板 Office 11/19 17:10
1F:推 Yaiba: 阿鬼 你還是說中文好了...直接講演算法會不會比較好... 11/22 13:03