[[["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."],[[["\u003cp\u003e\u003ccode\u003eLocalSearchMonitor\u003c/code\u003e is a C++ class within the OR-Tools constraint solver that allows you to monitor the progress of local search algorithms.\u003c/p\u003e\n"],["\u003cp\u003eIt provides methods to track various events during the search process, such as the start and end of operators, filtering, and accepting neighbors.\u003c/p\u003e\n"],["\u003cp\u003eYou can install a \u003ccode\u003eLocalSearchMonitor\u003c/code\u003e instance on a solver to receive callbacks during the local search execution.\u003c/p\u003e\n"],["\u003cp\u003eThese callbacks can be used to collect statistics, implement custom logic, or debug the search process.\u003c/p\u003e\n"]]],["The `LocalSearchMonitor` class in C++ provides methods to track events within a local search solver. Key actions include: starting and ending operations like `BeginOperatorStart` and `EndOperatorStart`; managing neighbor evaluations with methods like `BeginMakeNextNeighbor` and `EndMakeNextNeighbor`, accepting, and filtering `BeginAcceptNeighbor`,`BeginFilterNeighbor`, `BeginFiltering`, `EndAcceptNeighbor`, `EndFilterNeighbor`, `EndFiltering`; and a debugging tool `DebugString` to return a string. Additionally, `Install` allows the monitor to be added to the solver. The constructor `LocalSearchMonitor` initiates the monitor.\n"],null,["# LocalSearchMonitor\n\nC++ Reference: class LocalSearchMonitor\n=======================================\n\n\nNote: This documentation is automatically generated.\n\n| Method ||\n|------------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [`BeginAcceptNeighbor`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1946) | Return type: `virtual void ` Arguments: `const LocalSearchOperator* op` \u003cbr /\u003e |\n| [`BeginFiltering`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1949) | Return type: `virtual void ` Arguments: `const LocalSearchFilter* filter` \u003cbr /\u003e |\n| [`BeginFilterNeighbor`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1943) | Return type: `virtual void ` Arguments: `const LocalSearchOperator* op` \u003cbr /\u003e |\n| [`BeginMakeNextNeighbor`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1939) | Return type: `virtual void ` Arguments: `const LocalSearchOperator* op` \u003cbr /\u003e |\n| [`BeginOperatorStart`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1937) | Return type: `virtual void ` Local search operator events. |\n| [`DebugString`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1934) | Return type: `std::string ` \u003cbr /\u003e |\n| [`EndAcceptNeighbor`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1947) | Return type: `virtual void ` Arguments: `const LocalSearchOperator* op, bool neighbor_found` \u003cbr /\u003e |\n| [`EndFiltering`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1950) | Return type: `virtual void ` Arguments: `const LocalSearchFilter* filter, bool reject` \u003cbr /\u003e |\n| [`EndFilterNeighbor`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1944) | Return type: `virtual void ` Arguments: `const LocalSearchOperator* op, bool neighbor_found` \u003cbr /\u003e |\n| [`EndMakeNextNeighbor`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1940) | Return type: `virtual void ` Arguments: `const LocalSearchOperator* op, bool neighbor_found, const Assignment* delta, const Assignment* deltadelta` \u003cbr /\u003e |\n| [`EndOperatorStart`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1938) | Return type: `virtual void ` \u003cbr /\u003e |\n| [`Install`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1953) | Return type: `void ` Install itself on the solver. |\n| [`LocalSearchMonitor`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1932) | Return type: `explicit ` Arguments: `Solver* const solver` \u003cbr /\u003e |\n| [`~LocalSearchMonitor`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L1933) | \u003cbr /\u003e |"]]