Changes between Initial Version and Version 1 of Ticket #20302


Ignore:
Timestamp:
03/27/16 00:13:19 (3 years ago)
Author:
mkoeppe
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #20302 – Description

    initial v1  
    11While implementing `InteractiveLPBackend` for #20296, I noticed several deficiencies in the design of the MILP backend interface.
    22
    3  - `add_col` and `add_variable` both add a variable to the problem; but `add_col` only allows to add a column with no name; whereas `add_variable` only allows to add a column with no coefficients. There should be one function (`add_variable`, probably) that can do both; should then deprecate `add_col`. (Also compare with `add_linear_constraint`, which takes as zipped index/coefficient list, whereas `add_col` takes two parallel lists.)
     3 - `add_col` and `add_variable` both add a variable to the problem; but `add_col` only allows to add a column with no name; whereas `add_variable` only allows to add a column with no coefficients. There should be one function (`add_variable`, probably - see #20296 for a possible interface) that can do both; should then deprecate `add_col`. (Also compare with `add_linear_constraint`, which takes a zipped index/coefficient list, whereas `add_col` takes two parallel lists.)
    44
    55 - `variable_upper_bound`: This interface is bizarre.  Can't remove an upper bound from a variable because `None` means both 'no upper bound' and 'get the upper bound'. Likewise `variable_lower_bound`. (Moreover, there's redundancy with `col_bounds`.)