@@ -2335,6 +2335,19 @@ void RegisterSearchStatisticCallback(Model* global_model) {
23352335 response->set_num_lp_iterations (num_lp_iters);
23362336 });
23372337}
2338+
2339+ void MergeParamsWithFlagsAndDefaults (SatParameters* params) {
2340+ #if !defined(__PORTABLE_PLATFORM__)
2341+ // Override parameters?
2342+ if (!absl::GetFlag (FLAGS_cp_model_params).empty ()) {
2343+ SatParameters flag_params;
2344+ CHECK (google::protobuf::TextFormat::ParseFromString (
2345+ absl::GetFlag (FLAGS_cp_model_params), &flag_params));
2346+ params->MergeFrom (flag_params);
2347+ }
2348+ #endif // __PORTABLE_PLATFORM__
2349+ }
2350+
23382351} // namespace
23392352
23402353CpSolverResponse SolveCpModel (const CpModelProto& model_proto, Model* model) {
@@ -2355,20 +2368,12 @@ CpSolverResponse SolveCpModel(const CpModelProto& model_proto, Model* model) {
23552368 DumpModelProto (model_proto, model_proto.name ());
23562369 }
23572370 }
2358-
2359- // Override parameters?
2360- if (!absl::GetFlag (FLAGS_cp_model_params).empty ()) {
2361- SatParameters params = *model->GetOrCreate <SatParameters>();
2362- SatParameters flag_params;
2363- CHECK (google::protobuf::TextFormat::ParseFromString (
2364- absl::GetFlag (FLAGS_cp_model_params), &flag_params));
2365- params.MergeFrom (flag_params);
2366- *(model->GetOrCreate <SatParameters>()) = params;
2367- }
23682371#endif // __PORTABLE_PLATFORM__
23692372
2370- // Enable the logging component.
2373+ MergeParamsWithFlagsAndDefaults (model-> GetOrCreate <SatParameters>());
23712374 const SatParameters& params = *model->GetOrCreate <SatParameters>();
2375+
2376+ // Enable the logging component.
23722377 SolverLogger* logger = model->GetOrCreate <SolverLogger>();
23732378 logger->EnableLogging (params.log_search_progress ());
23742379 logger->SetLogToStdOut (params.log_to_stdout ());
0 commit comments