@@ -237,7 +237,7 @@ function Base.write(io::IO, model::Model)
237237 write_rhs (io, model, obj_const)
238238 write_ranges (io, model)
239239 write_bounds (io, model, var_to_column)
240- write_quadobj (io, model, var_to_column)
240+ write_quadobj (io, model, flip_obj, var_to_column)
241241 if options. quadratic_format != kQuadraticFormatCPLEX
242242 # Gurobi needs qcons _after_ quadobj and _before_ SOS.
243243 write_quadcons (io, model, var_to_column)
805805# QUADRATIC OBJECTIVE
806806# ==============================================================================
807807
808- function write_quadobj (io:: IO , model:: Model , var_to_column)
808+ function write_quadobj (io:: IO , model:: Model , flip_obj :: Bool , var_to_column)
809809 f = _get_objective (model)
810810 if isempty (f. quadratic_terms)
811811 return
@@ -822,6 +822,7 @@ function write_quadobj(io::IO, model::Model, var_to_column)
822822 _write_q_matrix (
823823 io,
824824 model,
825+ flip_obj,
825826 f,
826827 var_to_column;
827828 duplicate_off_diagonal = options. quadratic_format ==
833834function _write_q_matrix (
834835 io:: IO ,
835836 model:: Model ,
837+ flip_obj:: Bool ,
836838 f,
837839 var_to_column;
838840 duplicate_off_diagonal:: Bool ,
@@ -861,15 +863,13 @@ function _write_q_matrix(
861863 )
862864 x_name = _var_name (model, x, var_to_column[x], options. generic_names)
863865 y_name = _var_name (model, y, var_to_column[y], options. generic_names)
864- println (
865- io,
866- Card (f2 = x_name, f3 = y_name, f4 = _to_string (terms[(x, y)])),
867- )
866+ coef = terms[(x, y)]
867+ if flip_obj
868+ coef *= - 1
869+ end
870+ println (io, Card (f2 = x_name, f3 = y_name, f4 = _to_string (coef)))
868871 if x != y && duplicate_off_diagonal
869- println (
870- io,
871- Card (f2 = y_name, f3 = x_name, f4 = _to_string (terms[(x, y)])),
872- )
872+ println (io, Card (f2 = y_name, f3 = x_name, f4 = _to_string (coef)))
873873 end
874874 end
875875 return
@@ -899,6 +899,7 @@ function write_quadcons(io::IO, model::Model, var_to_column)
899899 _write_q_matrix (
900900 io,
901901 model,
902+ false , # flip_obj
902903 f,
903904 var_to_column;
904905 duplicate_off_diagonal = options. quadratic_format !=
0 commit comments