FRAMES NO FRAMES

IloSBSEvaluator

public IloNodeEvaluator IloSBSEvaluator(const IloEnv env, IloInt step=4, IloInt maxDiscrepancy=IloIntMax)
Definition file: ilsolver/ilosolverint.h
Include file: <ilsolver/ilosolver.h>

This function creates and returns a node evaluator (an instance of IloNodeEvaluator) that implements Slice-Based Search in a Concert Technology model.

A discrepancy is a right move in the path from the root of the search tree to the current node. The intuition is that a left move (the first goal in an IlcOr goal) is better than a right move (the second goal). Thus, by limiting the number of discrepancies, we try to stick close to the search heuristics (the goals to search for a solution of the problem being solved).

This implementation of Slice-Based Search divides the search tree into slices. Slice k corresponds to the open nodes of the search tree with a number of discrepancies between k*step and (k + 1)*step - 1. The node evaluator indicates that the search should explore slice 0, then slice 1, then slice 2, and so on.

This evaluator also discards nodes with a number of discrepancies greater than maxDiscrepancy. This technique is appropriate with constraint programming and generally offers better performance than depth-first search.

This function returns an instance of IloNodeEvaluator for use with the member functions IloSolver::startNewSearch and IloSolver::solve. An instance of IloSolver extracts the node evaluator that it returns as an instance of IlcNodeEvaluator for use during a Solver search.

See Also: