Stay organized with collections
Save and categorize content based on your preferences.
C++ Reference: pdlp_proto_solver
Note: This documentation is automatically generated.
Uses pdlp::PrimalDualHybridGradient to solve the problem specified by the MPModelRequest. Users of this interface should be aware of the size limitations of MPModelProto (see, e.g., large_linear_program.proto).
The optional interrupt_solve can be used to interrupt the solve early. The solver will periodically check its value and stop if it holds true.
If relax_integer_variables is true, integrality constraints are relaxed before solving. If false, integrality constraints result in an error. The solver_specific_info field in the MPSolutionResponse contains a serialized SolveLog.
Returns an error if the conversion from MPModelProto to pdlp::QuadraticProgram fails. The lack of an error does not imply success. Check the SolveLog's termination_reason for more refined status details.
[[["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\u003eUtilizes the PrimalDualHybridGradient algorithm to address optimization problems defined in MPModelRequest, but users should be mindful of MPModelProto's size constraints.\u003c/p\u003e\n"],["\u003cp\u003eOffers an optional interrupt mechanism through \u003ccode\u003einterrupt_solve\u003c/code\u003e, allowing early termination of the solving process.\u003c/p\u003e\n"],["\u003cp\u003eEnables relaxation of integrality constraints via \u003ccode\u003erelax_integer_variables\u003c/code\u003e or triggers an error if they are enforced; the solution includes a serialized SolveLog for detailed analysis.\u003c/p\u003e\n"],["\u003cp\u003eReturns an error if the problem conversion fails, and even without errors, the SolveLog's \u003ccode\u003etermination_reason\u003c/code\u003e should be checked for success verification.\u003c/p\u003e\n"]]],["The `PdlpSolveProto` function utilizes `pdlp::PrimalDualHybridGradient` to solve an `MPModelRequest`. It can optionally relax integer constraints and be interrupted using `interrupt_solve`. The solution status is detailed in the `SolveLog` within the `MPSolutionResponse`. Errors occur if conversion from `MPModelProto` to `pdlp::QuadraticProgram` fails, and success is not implied by the absence of errors, so the `SolveLog` termination reason should be checked.\n"],null,["# pdlp_proto_solver\n\nC++ Reference: pdlp_proto_solver\n================================\n\n\nNote: This documentation is automatically generated.\n\n\u003cbr /\u003e\n\nUses pdlp::PrimalDualHybridGradient to solve the problem specified by the MPModelRequest. Users of this interface should be aware of the size limitations of MPModelProto (see, e.g., large_linear_program.proto). \n\nThe optional interrupt_solve can be used to interrupt the solve early. The solver will periodically check its value and stop if it holds true. \n\nIf relax_integer_variables is true, integrality constraints are relaxed before solving. If false, integrality constraints result in an error. The solver_specific_info field in the MPSolutionResponse contains a serialized SolveLog. \n\nReturns an error if the conversion from MPModelProto to pdlp::QuadraticProgram fails. The lack of an error does not imply success. Check the SolveLog's termination_reason for more refined status details.\n\n| Function | Type | Arguments | Comments |\n|----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------|----------|\n| [`PdlpSolveProto`](https://github.com/google/or-tools/blob/v9.4/ortools/linear_solver/pdlp_proto_solver.h#L39) | Return type: `absl::StatusOr\u003cMPSolutionResponse\u003e ` Arguments: ` const MPModelRequest& request, bool relax_integer_variables = false, const std::atomic\u003cbool\u003e* interrupt_solve = nullptr` \u003cbr /\u003e |"]]