59 const absl::ParsedFormat<
's',
's',
's'> kExtendedFormat(
60 " Parameter: '%s' value: %s default: %s");
61 const absl::ParsedFormat<
's',
's',
's'> kOneLinerFormat(
"'%s':%s (%s)");
62 const absl::ParsedFormat<
's',
's',
's'>& format =
63 one_liner_output ? kOneLinerFormat : kExtendedFormat;
64 std::vector<std::string> changed_parameters;
66 for (
int i = 0; i < num_parameters; ++i) {
67 char* param_name =
nullptr;
78 &max_value, &default_value);
79 if (current_value != default_value) {
80 changed_parameters.push_back(
81 absl::StrFormat(format, param_name, absl::StrCat(current_value),
82 absl::StrCat(default_value)));
93 &max_value, &default_value);
94 if (current_value != default_value) {
95 changed_parameters.push_back(
96 absl::StrFormat(format, param_name, absl::StrCat(current_value),
97 absl::StrCat(default_value)));
110 if (std::strcmp(current_value, default_value) != 0) {
111 changed_parameters.push_back(absl::StrFormat(
112 format, param_name, current_value, default_value));
117 changed_parameters.push_back(absl::StrFormat(
118 "Parameter '%s' of unknown type %d", param_name, param_type));
121 if (changed_parameters.empty())
return "";
122 if (one_liner_output) {
123 return absl::StrCat(
"GurobiParams{",
124 absl::StrJoin(changed_parameters,
", "),
"}");
126 return absl::StrJoin(changed_parameters,
"\n");