protected internal virtual Variable MinimumSizeVariable()
{
Variable min = null;
IOrderedEnumerable<Variable> minimumSizeVariable =
network.Variables.Cast<Variable>().Where(vars => vars.Domain.Size() > 1)
.OrderBy(vars => vars.Domain.Size());
if (minimumSizeVariable.Count() > 0)
{
min = minimumSizeVariable.First();
}
// int minSize = Int32.MaxValue;
// foreach (Variable v in network.Variables)
// {
// int Size = v.Domain.Size();
// if (1 < Size && Size <= minSize)
// {
// vMin = v;
// minSize = Size;
// }
// }
return min;
}