作者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/cn.aspx?n=bbs/Visual_Basic/M.1479546529.A.65E.html
※ Tampa:转录至看板 Office 11/19 17:10
1F:推 Yaiba: 阿鬼 你还是说中文好了...直接讲演算法会不会比较好... 11/22 13:03