This method is called when a solution is found. It asserts whether the
solution is valid. A value of false indicates that the solution
should be discarded.
This method is called when a valid solution is found. If the
return value is true, then search will resume after. If the result
is false, then search will stop there.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2024-08-06 UTC."],[[["`SearchMonitor` is a C++ class within OR-Tools that provides a set of callbacks to monitor various search events during constraint programming."],["It allows users to track the progress of the search, inspect solutions, react to decisions, and implement custom logic at different stages of the search process."],["The class offers a variety of virtual methods that can be overridden to define specific behavior for events like finding solutions, reaching local optima, or encountering failures."],["`SearchMonitor` integrates with the OR-Tools solver, enabling developers to gain insights into the search process and potentially influence its execution."]]],["The `SearchMonitor` class provides callbacks to track search events in C++. Key actions include: monitoring the start (`EnterSearch`) and end (`ExitSearch`) of a search, restarting (`RestartSearch`), and managing decision application/refutation (`ApplyDecision`, `RefuteDecision`). It also handles solution acceptance (`AcceptSolution`, `AtSolution`) and neighbor evaluation in local search (`AcceptNeighbor`, `AcceptUncheckedNeighbor`). Further, it tracks failures (`BeginFail`, `EndFail`), propagation (`BeginInitialPropagation`, `EndInitialPropagation`), and progress (`ProgressPercent`), besides checking limits and search completion (`IsUncheckedSolutionLimitReached`,`NoMoreSolutions`).\n"]]