我是 VB.Net 的初学者。作为我学习的一部分,我正在编写一种称为禁忌搜索的迭代算法来解决优化问题。在每次迭代中,当前最佳解决方案的一个或几个变量都会改变,以针对同一问题开发新的解决方案。根据这一举措找到的解决方案的质量,我们可能希望在未来的迭代中停止重复它或促进推进它。一个称为禁忌列表的列表记录了迄今为止执行的移动质量以及应该避免或促进这些移动的未来迭代次数。
我已将禁忌列表定义为字典。我的问题是: 如何在每次迭代时更新字典的大小?
假设我只想保留添加到这本字典的最后 30 个项目。因此,当添加第 31 项时,应将第 1 项从字典中删除。
这是我的代码的一部分。
公开课搬家
Private mType As String
Private mTarget As DC
Property Type() As String
Get
Return mType
End Get
Set(value As String)
mType = value
End Set
End Property
Property TargetVariable() As VaiableDC
Get
Return mTarget
End Get
Set(value As VaiableDC)
mTarget = value
End Set
End Property
部分主要算法**
Dim MoveTabuDic As New Dictionary(Of Move, UShort)
'****removed steps****
Dim aMove as new Move
'****removed steps****
MoveTabuDic .add(aMove,IterationID)
谢谢!