17 #include "ortools/linear_solver/linear_solver.pb.h"
25 MPModelProto*
model) {
27 MPModelRequest request_proto;
33 const bool is_model_proto =
model_proto.variable_size() > 0;
34 const bool is_request_proto = request_proto.model().variable_size() > 0;
35 if (!is_model_proto && !is_request_proto) {
36 LOG(
ERROR) <<
"Failed to parse '" << input_file_path
37 <<
"' as an MPModelProto or an MPModelRequest.";
40 if (is_model_proto && is_request_proto) {
42 <<
" is parsing as both MPModelProto and MPModelRequest";
45 if (is_request_proto) {
46 VLOG(1) <<
"Read input proto as an MPModelRequest.";
49 VLOG(1) <<
"Read input proto as an MPModelProto.";
#define VLOG(verboselevel)
CpModelProto const * model_proto
void MPModelProtoToLinearProgram(const MPModelProto &input, LinearProgram *output)
bool LoadMPModelProtoFromModelOrRequest(const std::string &input_file_path, MPModelProto *model)
bool LoadLinearProgramFromModelOrRequest(const std::string &input_file_path, LinearProgram *linear_program)
The vehicle routing library lets one model and solve generic vehicle routing problems ranging from th...
bool ReadFileToProto(absl::string_view filename, google::protobuf::Message *proto)