These combinatorial algorithms in general create around 500 million
nodes. For each node, we just know it's minimum and maximum possible
solution given by it and to know actual value, we have to solve it
and spend computational time. Actual solution could be any value
between minimum and maximum value for that particular node. We are
trying to find best minimum solution.
If the best obtained so far is 550 units, I will automatically
reject any further node with minimum value>=550. Therefore algorithm
automatically rejects around 450 million nodes. but I would need to
save nodes with minimum solution value 548 or 549 at this stage.
And as algorithm proceeds, I may find a better solution 548 then I
can reject all nodes with minimum value 548 or 549 and can clear up
some memory. Number of nodes keep increasing and decreasing in the
algorithm creating 10 million nodes (with minimum soltuion<best
solution) intermediately. As ram can only manage 2 million nodes, I
would have to write remaining nodes (with >= minimum solution value
than 2 million nodes) somewhere in the hard disc in binary or text
or -- format whichever takes less time. In 80% cases, I never need
these 8 million nodes written in hard disc but in 20% cases, I do
need some of them (1 to 4 millions) back after solving others
present in the Ram (therefore Ram is cleared of 2 million previous
nodes).