[[["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\u003eSearchLog\u003c/code\u003e is the base class for all search logs in OR-Tools, providing a foundation for tracking and outputting information during the search process.\u003c/p\u003e\n"],["\u003cp\u003eIt periodically outputs information about the search progress, including details about solutions and decisions made.\u003c/p\u003e\n"],["\u003cp\u003eThe class includes methods for handling search events, such as \u003ccode\u003eEnterSearch\u003c/code\u003e, \u003ccode\u003eExitSearch\u003c/code\u003e, \u003ccode\u003eAtSolution\u003c/code\u003e, and \u003ccode\u003eNoMoreSolutions\u003c/code\u003e, which are triggered at various stages of the search.\u003c/p\u003e\n"],["\u003cp\u003eUsers can customize the output by providing a \u003ccode\u003edisplay_callback\u003c/code\u003e function to format the information displayed.\u003c/p\u003e\n"]]],["The `SearchLog` class is a base for search logs that output information during a search. Key methods include: managing search entry/exit (`EnterSearch`, `ExitSearch`), handling solutions (`AtSolution`, `NoMoreSolutions`), processing decisions (`ApplyDecision`, `RefuteDecision`, `OutputDecision`), and managing propagation (`BeginInitialPropagation`, `EndInitialPropagation`). Additional methods handle neighbor acceptance (`AcceptUncheckedNeighbor`), failure (`BeginFail`), and general maintenance (`Maintain`). It can also generate a debug string (`DebugString`). It has a constructor `SearchLog` and destructor `~SearchLog`.\n"],null,["# SearchLog\n\nC++ Reference: class SearchLog\n==============================\n\n\nNote: This documentation is automatically generated.\nThe base class of all search logs that periodically outputs information when the search is running.\n\n| Method ||\n|--------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [`AcceptUncheckedNeighbor`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2050) | Return type: `void ` \u003cbr /\u003e |\n| [`ApplyDecision`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2051) | Return type: `void ` Arguments: `Decision* const decision` \u003cbr /\u003e |\n| [`AtSolution`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2047) | Return type: `bool ` \u003cbr /\u003e |\n| [`BeginFail`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2048) | Return type: `void ` \u003cbr /\u003e |\n| [`BeginInitialPropagation`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2055) | Return type: `void ` \u003cbr /\u003e |\n| [`DebugString`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2057) | Return type: `std::string ` \u003cbr /\u003e |\n| [`EndInitialPropagation`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2056) | Return type: `void ` \u003cbr /\u003e |\n| [`EnterSearch`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2045) | Return type: `void ` \u003cbr /\u003e |\n| [`ExitSearch`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2046) | Return type: `void ` \u003cbr /\u003e |\n| [`Maintain`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2054) | Return type: `void ` \u003cbr /\u003e |\n| [`NoMoreSolutions`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2049) | Return type: `void ` \u003cbr /\u003e |\n| [`OutputDecision`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2053) | Return type: `void ` \u003cbr /\u003e |\n| [`RefuteDecision`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2052) | Return type: `void ` Arguments: `Decision* const decision` \u003cbr /\u003e |\n| [`SearchLog`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2040) | \u003cbr /\u003e Arguments: `Solver* const s, OptimizeVar* const obj, IntVar* const var, double scaling_factor, double offset, std::function\u003cstd::string()\u003e display_callback, bool display_on_new_solutions_only, int period` \u003cbr /\u003e |\n| [`~SearchLog`](https://github.com/google/or-tools/blob/v9.4/ortools/constraint_solver/constraint_solveri.h#L2044) | \u003cbr /\u003e |"]]