📄 breadthfirstbranchandboundsolver.cs
字号:
namespace Opus6
{
using System;
[Copyright("Copyright (c) 2001 by Bruno R. Preiss, P.Eng."), Version("$Id: BreadthFirstBranchAndBoundSolver.cs,v 1.4 2001/10/28 19:50:09 brpreiss Exp $")]
public class BreadthFirstBranchAndBoundSolver : AbstractSolver
{
protected override void Search(Solution initial)
{
Queue queue1 = new QueueAsLinkedList();
if (initial.IsFeasible)
{
queue1.Enqueue(initial);
}
while (!queue1.IsEmpty)
{
Solution solution1 = (Solution) queue1.Dequeue();
if (solution1.IsComplete)
{
this.UpdateBest(solution1);
}
else
{
foreach (Solution solution2 in solution1.Successors)
{
if (solution2.IsFeasible && (solution2.Bound < base.bestObjective))
{
queue1.Enqueue(solution2);
}
}
continue;
}
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -