Ticket #10150: trac_10150.patch

File trac_10150.patch, 32.2 KB (added by ncohen, 9 years ago)
  • sage/numerical/backends/coin_backend.pyx

    # HG changeset patch
    # User Nathann Cohen <nathann.cohen@gmail.com>
    # Date 1287677507 -7200
    # Node ID fd8eb315d84bb87da5fe93b1d29283157855ee7e
    # Parent  ea607bb451e79c364ea90f6000d5ba3676341ed4
    trac 10150 - Change add_constraint to add_linear_constraint in the new LP interfaces
    
    diff -r ea607bb451e7 -r fd8eb315d84b sage/numerical/backends/coin_backend.pyx
    a b  
    211211        msg = model.messageHandler()
    212212        msg.setLogLevel(level)
    213213
    214     cpdef add_constraints(self, int number, int direction, double bound):
     214    cpdef add_linear_constraints(self, int number, int direction, double bound):
    215215        r"""
    216216        Adds constraints.
    217217
     
    235235            sage: p = get_solver(solver = "Coin")   # optional - Coin
    236236            sage: p.add_variables(5)                                # optional - Coin
    237237            5
    238             sage: p.add_constraints(5, +1, 2)                       # optional - Coin
     238            sage: p.add_linear_constraints(5, +1, 2)                       # optional - Coin
    239239            sage: p.row(4)                                      # optional - Coin
    240240            ([], [])
    241241            sage: p.row_bounds(4)                               # optional - Coin
     
    244244
    245245        cdef int i
    246246        for 0<= i<number:
    247             self.add_constraint([],[],direction, bound)
     247            self.add_linear_constraint([],[],direction, bound)
    248248
    249     cpdef add_constraint(self, list indices, list coeffs, int direction, double bound):
     249    cpdef add_linear_constraint(self, list indices, list coeffs, int direction, double bound):
    250250        r"""
    251251        Adds a linear constraint.
    252252
     
    282282            sage: p = get_solver(solver = "Coin") # optional - Coin
    283283            sage: p.add_variables(5)                              # optional - Coin
    284284            5
    285             sage: p.add_constraint(range(5), range(5), 0, 2)      # optional - Coin
     285            sage: p.add_linear_constraint(range(5), range(5), 0, 2)      # optional - Coin
    286286            sage: p.row(0)                                    # optional - Coin
    287287            ([0, 1, 2, 3, 4], [0.0, 1.0, 2.0, 3.0, 4.0])
    288288            sage: p.row_bounds(0)                             # optional - Coin
     
    315315        A pair ``(indices, coeffs)`` where ``indices`` lists the
    316316        entries whose coefficient is nonzero, and to which ``coeffs``
    317317        associates their coefficient on the model of the
    318         ``add_constraint`` method.
     318        ``add_linear_constraint`` method.
    319319
    320320        EXAMPLE::
    321321
     
    323323            sage: p = get_solver(solver = "Coin")  # optional - Coin
    324324            sage: p.add_variables(5)                               # optional - Coin
    325325            5
    326             sage: p.add_constraint(range(5), range(5), 0, 2)       # optional - Coin
     326            sage: p.add_linear_constraint(range(5), range(5), 0, 2)       # optional - Coin
    327327            sage: p.row(0)                                     # optional - Coin
    328328            ([0, 1, 2, 3, 4], [0.0, 1.0, 2.0, 3.0, 4.0])
    329329            sage: p.row_bounds(0)                              # optional - Coin
     
    368368            sage: p = get_solver(solver = "Coin")  # optional - Coin
    369369            sage: p.add_variables(5)                               # optional - Coin
    370370            5
    371             sage: p.add_constraint(range(5), range(5), 0, 2)       # optional - Coin
     371            sage: p.add_linear_constraint(range(5), range(5), 0, 2)       # optional - Coin
    372372            sage: p.row(0)                                     # optional - Coin
    373373            ([0, 1, 2, 3, 4], [0.0, 1.0, 2.0, 3.0, 4.0])
    374374            sage: p.row_bounds(0)                              # optional - Coin
     
    434434            sage: p = get_solver(solver = "Coin")  # optional - Coin
    435435            sage: p.add_variables(2)                               # optional - Coin
    436436            2
    437             sage: p.add_constraint([0, 1], [1, 2], +1, 3)          # optional - Coin
     437            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)          # optional - Coin
    438438            sage: p.set_objective([2, 5])                          # optional - Coin
    439439            sage: p.solve()                                        # optional - Coin
    440440            0
     
    476476            0
    477477            sage: p.nrows()                                       # optional - Coin
    478478            0
    479             sage: p.add_constraints(5, -1, 0)                      # optional - Coin
     479            sage: p.add_linear_constraints(5, -1, 0)                      # optional - Coin
    480480            sage: p.add_col(range(5), range(5))                    # optional - Coin
    481481            sage: p.nrows()                                       # optional - Coin
    482482            5
     
    508508
    509509            sage: from sage.numerical.backends.generic_backend import get_solver
    510510            sage: p = get_solver(solver = "Coin")    # optional - Coin
    511             sage: p.add_constraints(5, -1, 0)       # optional - Coin
     511            sage: p.add_linear_constraints(5, -1, 0)       # optional - Coin
    512512            sage: p.add_col(range(5), [1,2,3,4,5])  # optional - Coin
    513513            sage: p.solve()                         # optional - Coin
    514514            0
     
    519519            sage: p = get_solver(solver = "Coin")    # optional - Coin
    520520            sage: p.add_variable()                  # optional - Coin
    521521            1
    522             sage: p.add_constraint([0], [1], +1, 4) # optional - Coin
    523             sage: p.add_constraint([0], [1], -1, 6) # optional - Coin
     522            sage: p.add_linear_constraint([0], [1], +1, 4) # optional - Coin
     523            sage: p.add_linear_constraint([0], [1], -1, 6) # optional - Coin
    524524            sage: p.set_objective_coefficient(0,1)        # optional - Coin
    525525            sage: p.solve()                         # optional - Coin
    526526            Traceback (most recent call last):
     
    561561            sage: p = get_solver(solver = "Coin")  # optional - Coin
    562562            sage: p.add_variables(2)                               # optional - Coin
    563563            2
    564             sage: p.add_constraint([0, 1], [1, 2], +1, 3)          # optional - Coin
     564            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)          # optional - Coin
    565565            sage: p.set_objective([2, 5])                          # optional - Coin
    566566            sage: p.solve()                                        # optional - Coin
    567567            0
     
    589589            sage: p = get_solver(solver = "Coin") # optional - Coin
    590590            sage: p.add_variables(2)                              # optional - Coin
    591591            2
    592             sage: p.add_constraint([0, 1], [1, 2], +1, 3)         # optional - Coin
     592            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)         # optional - Coin
    593593            sage: p.set_objective([2, 5])                         # optional - Coin
    594594            sage: p.solve()                                       # optional - Coin
    595595            0
     
    633633            sage: p = get_solver(solver = "Coin") # optional - Coin
    634634            sage: p.nrows()                                      # optional - Coin
    635635            0
    636             sage: p.add_constraints(2, -1, 2)                     # optional - Coin
     636            sage: p.add_linear_constraints(2, -1, 2)                     # optional - Coin
    637637            sage: p.nrows()                                      # optional - Coin
    638638            2
    639639        """
     
    811811            sage: p = get_solver(solver = "Coin")  # optional - Coin
    812812            sage: p.add_variables(2)                               # optional - Coin
    813813            2
    814             sage: p.add_constraint([0, 1], [1, 2], +1, 3)          # optional - Coin
     814            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)          # optional - Coin
    815815            sage: p.set_objective([2, 5])                          # optional - Coin
    816816            sage: p.write_mps(SAGE_TMP+"/lp_problem.mps", 0)       # optional - Coin
    817817        """
     
    856856
    857857            sage: from sage.numerical.backends.generic_backend import get_solver
    858858            sage: p = get_solver(solver = "Coin")  # optional - Coin
    859             sage: p.add_constraints(1, -1, 2)                      # optional - Coin
     859            sage: p.add_linear_constraints(1, -1, 2)                      # optional - Coin
    860860            sage: p.row_name(0, "Empty constraint 1")          # optional - Coin
    861861            sage: print p.row_name(0)                          # optional - Coin
    862862            <BLANKLINE>
  • sage/numerical/backends/cplex_backend.pyx

    diff -r ea607bb451e7 -r fd8eb315d84b sage/numerical/backends/cplex_backend.pyx
    a b  
    266266            status = CPXsetintparam (self.env, CPX_PARAM_SCRIND, CPX_ON)
    267267            check(status)
    268268
    269     cpdef add_constraints(self, int number, int direction, double bound):
     269    cpdef add_linear_constraints(self, int number, int direction, double bound):
    270270        r"""
    271271        Adds constraints.
    272272
     
    290290            sage: p = get_solver(solver = "CPLEX")   # optional - CPLEX
    291291            sage: p.add_variables(5)                                # optional - CPLEX
    292292            5
    293             sage: p.add_constraints(5, +1, 2)                       # optional - CPLEX
     293            sage: p.add_linear_constraints(5, +1, 2)                       # optional - CPLEX
    294294            sage: p.row(4)                                      # optional - CPLEX
    295295            ([], [])
    296296            sage: p.row_bounds(4)                               # optional - CPLEX
     
    319319        status = CPXnewrows(self.env, self.lp, number, c_bounds, c_types, NULL, NULL)
    320320        check(status)
    321321
    322     cpdef add_constraint(self, list indices, list coeffs, int direction, double bound):
     322    cpdef add_linear_constraint(self, list indices, list coeffs, int direction, double bound):
    323323        r"""
    324324        Adds a linear constraint.
    325325
     
    355355            sage: p = get_solver(solver = "CPLEX") # optional - CPLEX
    356356            sage: p.add_variables(5)                              # optional - CPLEX
    357357            5
    358             sage: p.add_constraint(range(5), range(5), 0, 2)      # optional - CPLEX
     358            sage: p.add_linear_constraint(range(5), range(5), 0, 2)      # optional - CPLEX
    359359            sage: p.row(0)                                    # optional - CPLEX
    360360            ([1, 2, 3, 4], [1.0, 2.0, 3.0, 4.0])
    361361            sage: p.row_bounds(0)                             # optional - CPLEX
     
    404404        A pair ``(indices, coeffs)`` where ``indices`` lists the
    405405        entries whose coefficient is nonzero, and to which ``coeffs``
    406406        associates their coefficient on the model of the
    407         ``add_constraint`` method.
     407        ``add_linear_constraint`` method.
    408408
    409409        EXAMPLE::
    410410
     
    412412            sage: p = get_solver(solver = "CPLEX")  # optional - CPLEX
    413413            sage: p.add_variables(5)                               # optional - CPLEX
    414414            5
    415             sage: p.add_constraint(range(5), range(5), 0, 2)       # optional - CPLEX
     415            sage: p.add_linear_constraint(range(5), range(5), 0, 2)       # optional - CPLEX
    416416            sage: p.row(0)                                     # optional - CPLEX
    417417            ([1, 2, 3, 4], [1.0, 2.0, 3.0, 4.0])
    418418            sage: p.row_bounds(0)                              # optional - CPLEX
     
    461461            sage: p = get_solver(solver = "CPLEX")  # optional - CPLEX
    462462            sage: p.add_variables(5)                               # optional - CPLEX
    463463            5
    464             sage: p.add_constraint(range(5), range(5), 0, 2)       # optional - CPLEX
     464            sage: p.add_linear_constraint(range(5), range(5), 0, 2)       # optional - CPLEX
    465465            sage: p.row(0)                                     # optional - CPLEX
    466466            ([1, 2, 3, 4], [1.0, 2.0, 3.0, 4.0])
    467467            sage: p.row_bounds(0)                              # optional - CPLEX
     
    583583            0
    584584            sage: p.nrows()                                       # optional - CPLEX
    585585            0
    586             sage: p.add_constraints(5, -1, 0)                      # optional - CPLEX
     586            sage: p.add_linear_constraints(5, -1, 0)                      # optional - CPLEX
    587587            sage: p.add_col(range(5), range(5))                    # optional - CPLEX
    588588            sage: p.nrows()                                       # optional - CPLEX
    589589            5
     
    626626
    627627            sage: from sage.numerical.backends.generic_backend import get_solver
    628628            sage: p = get_solver(solver = "CPLEX") # optional - CPLEX
    629             sage: p.add_constraints(5, -1, 0)                     # optional - CPLEX
     629            sage: p.add_linear_constraints(5, -1, 0)                     # optional - CPLEX
    630630            sage: p.add_col(range(5), range(5))                   # optional - CPLEX
    631631            sage: p.solve()                                       # optional - CPLEX
    632632            0
     
    678678            sage: p = get_solver(solver = "CPLEX")  # optional - CPLEX
    679679            sage: p.add_variables(2)                               # optional - CPLEX
    680680            2
    681             sage: p.add_constraint([0, 1], [1, 2], +1, 3)          # optional - CPLEX
     681            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)          # optional - CPLEX
    682682            sage: p.set_objective([2, 5])                          # optional - CPLEX
    683683            sage: p.solve()                                        # optional - CPLEX
    684684            0
     
    712712            sage: p = get_solver(solver = "CPLEX") # optional - CPLEX
    713713            sage: p.add_variables(2)                              # optional - CPLEX
    714714            2
    715             sage: p.add_constraint([0, 1], [1, 2], +1, 3)         # optional - CPLEX
     715            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)         # optional - CPLEX
    716716            sage: p.set_objective([2, 5])                         # optional - CPLEX
    717717            sage: p.solve()                                       # optional - CPLEX
    718718            0
     
    761761            sage: p = get_solver(solver = "CPLEX") # optional - CPLEX
    762762            sage: p.nrows()                                      # optional - CPLEX
    763763            0
    764             sage: p.add_constraints(2, -1, 2)                     # optional - CPLEX
     764            sage: p.add_linear_constraints(2, -1, 2)                     # optional - CPLEX
    765765            sage: p.nrows()                                      # optional - CPLEX
    766766            2
    767767        """
     
    783783
    784784            sage: from sage.numerical.backends.generic_backend import get_solver
    785785            sage: p = get_solver(solver = "CPLEX")  # optional - CPLEX
    786             sage: p.add_constraints(1, -1, 2)                      # optional - CPLEX
     786            sage: p.add_linear_constraints(1, -1, 2)                      # optional - CPLEX
    787787            sage: p.row_name(0, "Empty constraint 1")          # optional - CPLEX
    788788            sage: p.row_name(0)                                # optional - CPLEX
    789789            'Empty constraint 1'
     
    10801080            sage: p = get_solver(solver = "CPLEX")  # optional - CPLEX
    10811081            sage: p.add_variables(2)                               # optional - CPLEX
    10821082            2
    1083             sage: p.add_constraint([0, 1], [1, 2], +1, 3)          # optional - CPLEX
     1083            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)          # optional - CPLEX
    10841084            sage: p.set_objective([2, 5])                          # optional - CPLEX
    10851085            sage: p.write_lp(SAGE_TMP+"/lp_problem.lp")            # optional - CPLEX
    10861086        """
     
    11041104            sage: p = get_solver(solver = "CPLEX")  # optional - CPLEX
    11051105            sage: p.add_variables(2)                               # optional - CPLEX
    11061106            2
    1107             sage: p.add_constraint([0, 1], [1, 2], +1, 3)          # optional - CPLEX
     1107            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)          # optional - CPLEX
    11081108            sage: p.set_objective([2, 5])                          # optional - CPLEX
    11091109            sage: p.write_lp(SAGE_TMP+"/lp_problem.lp")            # optional - CPLEX
    11101110        """
  • sage/numerical/backends/generic_backend.pxd

    diff -r ea607bb451e7 -r fd8eb315d84b sage/numerical/backends/generic_backend.pxd
    a b  
    1313    cpdef set_objective_coefficient(self, int variable, double coeff)
    1414    cpdef set_objective(self, list coeff)
    1515    cpdef set_verbosity(self, int level)
    16     cpdef add_constraint(self, list indices, list coeffs, int direction, double bound)
     16    cpdef add_linear_constraint(self, list indices, list coeffs, int direction, double bound)
    1717    cpdef add_col(self, list indices, list coeffs)
    18     cpdef add_constraints(self, int number, int direction, double bound)
     18    cpdef add_linear_constraints(self, int number, int direction, double bound)
    1919    cpdef int solve(self) except -1
    2020    cpdef double get_objective_value(self)
    2121    cpdef double get_variable_value(self, int variable)
  • sage/numerical/backends/generic_backend.pyx

    diff -r ea607bb451e7 -r fd8eb315d84b sage/numerical/backends/generic_backend.pyx
    a b  
    186186
    187187        raise NotImplementedError()
    188188
    189     cpdef add_constraint(self, list indices, list coeffs, int direction, double bound):
     189    cpdef add_linear_constraint(self, list indices, list coeffs, int direction, double bound):
    190190        r"""
    191191        Adds a linear constraint.
    192192
     
    222222            sage: p = get_solver(solver = "Nonexistent_LP_solver") # optional - Nonexistent_LP_solver
    223223            sage: p.add_variables(5)                              # optional - Nonexistent_LP_solver
    224224            5
    225             sage: p.add_constraint(range(5), range(5), 0, 2)      # optional - Nonexistent_LP_solver
     225            sage: p.add_linear_constraint(range(5), range(5), 0, 2)      # optional - Nonexistent_LP_solver
    226226            sage: p.row(0)                                    # optional - Nonexistent_LP_solver
    227227            ([4, 3, 2, 1], [4.0, 3.0, 2.0, 1.0])
    228228            sage: p.row_bounds(0)                             # optional - Nonexistent_LP_solver
     
    259259            0
    260260            sage: p.nrows()                                       # optional - Nonexistent_LP_solver
    261261            0
    262             sage: p.add_constraints(5, -1, 0)                      # optional - Nonexistent_LP_solver
     262            sage: p.add_linear_constraints(5, -1, 0)                      # optional - Nonexistent_LP_solver
    263263            sage: p.add_col(range(5), range(5))                    # optional - Nonexistent_LP_solver
    264264            sage: p.nrows()                                       # optional - Nonexistent_LP_solver
    265265            5
     
    267267
    268268        raise NotImplementedError()
    269269
    270     cpdef add_constraints(self, int number, int direction, double bound):
     270    cpdef add_linear_constraints(self, int number, int direction, double bound):
    271271        r"""
    272272        Adds constraints.
    273273
     
    291291            sage: p = get_solver(solver = "Nonexistent_LP_solver")   # optional - Nonexistent_LP_solver
    292292            sage: p.add_variables(5)                                # optional - Nonexistent_LP_solver
    293293            5
    294             sage: p.add_constraints(5, +1, 2)                       # optional - Nonexistent_LP_solver
     294            sage: p.add_linear_constraints(5, +1, 2)                       # optional - Nonexistent_LP_solver
    295295            sage: p.row(4)                                      # optional - Nonexistent_LP_solver
    296296            ([], [])
    297297            sage: p.row_bounds(4)                               # optional - Nonexistent_LP_solver
     
    314314
    315315            sage: from sage.numerical.backends.generic_backend import get_solver
    316316            sage: p = get_solver(solver = "Nonexistent_LP_solver") # optional - Nonexistent_LP_solver
    317             sage: p.add_constraints(5, -1, 0)                     # optional - Nonexistent_LP_solver
     317            sage: p.add_linear_constraints(5, -1, 0)                     # optional - Nonexistent_LP_solver
    318318            sage: p.add_col(range(5), range(5))                   # optional - Nonexistent_LP_solver
    319319            sage: p.solve()                                       # optional - Nonexistent_LP_solver
    320320            0
     
    340340            sage: p = get_solver(solver = "Nonexistent_LP_solver")  # optional - Nonexistent_LP_solver
    341341            sage: p.add_variables(2)                               # optional - Nonexistent_LP_solver
    342342            2
    343             sage: p.add_constraint([0, 1], [1, 2], +1, 3)          # optional - Nonexistent_LP_solver
     343            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)          # optional - Nonexistent_LP_solver
    344344            sage: p.set_objective([2, 5])                          # optional - Nonexistent_LP_solver
    345345            sage: p.solve()                                        # optional - Nonexistent_LP_solver
    346346            0
     
    368368            sage: p = get_solver(solver = "Nonexistent_LP_solver") # optional - Nonexistent_LP_solver
    369369            sage: p.add_variables(2)                              # optional - Nonexistent_LP_solver
    370370            2
    371             sage: p.add_constraint([0, 1], [1, 2], +1, 3)         # optional - Nonexistent_LP_solver
     371            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)         # optional - Nonexistent_LP_solver
    372372            sage: p.set_objective([2, 5])                         # optional - Nonexistent_LP_solver
    373373            sage: p.solve()                                       # optional - Nonexistent_LP_solver
    374374            0
     
    410410            sage: p = get_solver(solver = "Nonexistent_LP_solver") # optional - Nonexistent_LP_solver
    411411            sage: p.nrows()                                      # optional - Nonexistent_LP_solver
    412412            0
    413             sage: p.add_constraints(2, -1, 2)                     # optional - Nonexistent_LP_solver
     413            sage: p.add_linear_constraints(2, -1, 2)                     # optional - Nonexistent_LP_solver
    414414            sage: p.nrows()                                      # optional - Nonexistent_LP_solver
    415415            2
    416416        """
     
    470470            sage: p = get_solver(solver = "Nonexistent_LP_solver")  # optional - Nonexistent_LP_solver
    471471            sage: p.add_variables(2)                               # optional - Nonexistent_LP_solver
    472472            2
    473             sage: p.add_constraint([0, 1], [1, 2], +1, 3)          # optional - Nonexistent_LP_solver
     473            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)          # optional - Nonexistent_LP_solver
    474474            sage: p.set_objective([2, 5])                          # optional - Nonexistent_LP_solver
    475475            sage: p.write_lp(SAGE_TMP+"/lp_problem.lp")            # optional - Nonexistent_LP_solver
    476476        """
     
    490490            sage: p = get_solver(solver = "Nonexistent_LP_solver")  # optional - Nonexistent_LP_solver
    491491            sage: p.add_variables(2)                               # optional - Nonexistent_LP_solver
    492492            2
    493             sage: p.add_constraint([0, 1], [1, 2], +1, 3)          # optional - Nonexistent_LP_solver
     493            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)          # optional - Nonexistent_LP_solver
    494494            sage: p.set_objective([2, 5])                          # optional - Nonexistent_LP_solver
    495495            sage: p.write_lp(SAGE_TMP+"/lp_problem.lp")            # optional - Nonexistent_LP_solver
    496496        """
     
    509509        A pair ``(indices, coeffs)`` where ``indices`` lists the
    510510        entries whose coefficient is nonzero, and to which ``coeffs``
    511511        associates their coefficient on the model of the
    512         ``add_constraint`` method.
     512        ``add_linear_constraint`` method.
    513513
    514514        EXAMPLE::
    515515
     
    517517            sage: p = get_solver(solver = "Nonexistent_LP_solver")  # optional - Nonexistent_LP_solver
    518518            sage: p.add_variables(5)                               # optional - Nonexistent_LP_solver
    519519            5
    520             sage: p.add_constraint(range(5), range(5), 0, 2)       # optional - Nonexistent_LP_solver
     520            sage: p.add_linear_constraint(range(5), range(5), 0, 2)       # optional - Nonexistent_LP_solver
    521521            sage: p.row(0)                                     # optional - Nonexistent_LP_solver
    522522            ([4, 3, 2, 1], [4.0, 3.0, 2.0, 1.0])
    523523            sage: p.row_bounds(0)                              # optional - Nonexistent_LP_solver
     
    571571            sage: p = get_solver(solver = "Nonexistent_LP_solver")  # optional - Nonexistent_LP_solver
    572572            sage: p.add_variables(5)                               # optional - Nonexistent_LP_solver
    573573            5
    574             sage: p.add_constraint(range(5), range(5), 0, 2)       # optional - Nonexistent_LP_solver
     574            sage: p.add_linear_constraint(range(5), range(5), 0, 2)       # optional - Nonexistent_LP_solver
    575575            sage: p.row(0)                                     # optional - Nonexistent_LP_solver
    576576            ([4, 3, 2, 1], [4.0, 3.0, 2.0, 1.0])
    577577            sage: p.row_bounds(0)                              # optional - Nonexistent_LP_solver
     
    696696
    697697            sage: from sage.numerical.backends.generic_backend import get_solver
    698698            sage: p = get_solver(solver = "Nonexistent_LP_solver")  # optional - Nonexistent_LP_solver
    699             sage: p.add_constraints(1, -1, 2)                      # optional - Nonexistent_LP_solver
     699            sage: p.add_linear_constraints(1, -1, 2)                      # optional - Nonexistent_LP_solver
    700700            sage: p.row_name(0, "Empty constraint 1")          # optional - Nonexistent_LP_solver
    701701            sage: p.row_name(0)                                # optional - Nonexistent_LP_solver
    702702            'Empty constraint 1'
  • sage/numerical/backends/glpk_backend.pyx

    diff -r ea607bb451e7 -r fd8eb315d84b sage/numerical/backends/glpk_backend.pyx
    a b  
    266266        else:
    267267            self.iocp.msg_lev = GLP_MSG_ALL
    268268
    269     cpdef add_constraints(self, int number, int direction, double bound):
     269    cpdef add_linear_constraints(self, int number, int direction, double bound):
    270270        r"""
    271271        Adds constraints.
    272272
     
    290290            sage: p = get_solver(solver = "GLPK")
    291291            sage: p.add_variables(5)
    292292            5
    293             sage: p.add_constraints(5, +1, 2)
     293            sage: p.add_linear_constraints(5, +1, 2)
    294294            sage: p.row(4)
    295295            ([], [])
    296296            sage: p.row_bounds(4)
     
    311311        for 0<= i < number:
    312312            glp_set_row_bnds(self.lp, n-i, direction, bound, bound)
    313313
    314     cpdef add_constraint(self, list indices, list coeffs, int direction, double bound):
     314    cpdef add_linear_constraint(self, list indices, list coeffs, int direction, double bound):
    315315        r"""
    316316        Adds a linear constraint.
    317317
     
    347347            sage: p = get_solver(solver = "GLPK")
    348348            sage: p.add_variables(5)
    349349            5
    350             sage: p.add_constraint(range(5), range(5), 0, 2)
     350            sage: p.add_linear_constraint(range(5), range(5), 0, 2)
    351351            sage: p.row(0)
    352352            ([4, 3, 2, 1], [4.0, 3.0, 2.0, 1.0])
    353353            sage: p.row_bounds(0)
     
    391391        A pair ``(indices, coeffs)`` where ``indices`` lists the
    392392        entries whose coefficient is nonzero, and to which ``coeffs``
    393393        associates their coefficient on the model of the
    394         ``add_constraint`` method.
     394        ``add_linear_constraint`` method.
    395395
    396396        EXAMPLE::
    397397
     
    399399            sage: p = get_solver(solver = "GLPK")
    400400            sage: p.add_variables(5)
    401401            5
    402             sage: p.add_constraint(range(5), range(5), 0, 2)
     402            sage: p.add_linear_constraint(range(5), range(5), 0, 2)
    403403            sage: p.row(0)
    404404            ([4, 3, 2, 1], [4.0, 3.0, 2.0, 1.0])
    405405            sage: p.row_bounds(0)
     
    442442            sage: p = get_solver(solver = "GLPK")
    443443            sage: p.add_variables(5)
    444444            5
    445             sage: p.add_constraint(range(5), range(5), 0, 2)
     445            sage: p.add_linear_constraint(range(5), range(5), 0, 2)
    446446            sage: p.row(0)
    447447            ([4, 3, 2, 1], [4.0, 3.0, 2.0, 1.0])
    448448            sage: p.row_bounds(0)
     
    550550            0
    551551            sage: p.nrows()
    552552            0
    553             sage: p.add_constraints(5, -1, 0)
     553            sage: p.add_linear_constraints(5, -1, 0)
    554554            sage: p.add_col(range(5), range(5))
    555555            sage: p.nrows()
    556556            5
     
    588588
    589589            sage: from sage.numerical.backends.generic_backend import get_solver
    590590            sage: p = get_solver(solver = "GLPK")
    591             sage: p.add_constraints(5, -1, 0)
     591            sage: p.add_linear_constraints(5, -1, 0)
    592592            sage: p.add_col(range(5), range(5))
    593593            sage: p.solve()
    594594            0
     
    627627            sage: p = get_solver(solver = "GLPK")
    628628            sage: p.add_variables(2)
    629629            2
    630             sage: p.add_constraint([0, 1], [1, 2], +1, 3)
     630            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)
    631631            sage: p.set_objective([2, 5])
    632632            sage: p.solve()
    633633            0
     
    654654            sage: p = get_solver(solver = "GLPK")
    655655            sage: p.add_variables(2)
    656656            2
    657             sage: p.add_constraint([0, 1], [1, 2], +1, 3)
     657            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)
    658658            sage: p.set_objective([2, 5])
    659659            sage: p.solve()
    660660            0
     
    694694            sage: p = get_solver(solver = "GLPK")
    695695            sage: p.nrows()
    696696            0
    697             sage: p.add_constraints(2, -1, 2)
     697            sage: p.add_linear_constraints(2, -1, 2)
    698698            sage: p.nrows()
    699699            2
    700700        """
     
    750750
    751751            sage: from sage.numerical.backends.generic_backend import get_solver
    752752            sage: p = get_solver(solver = "GLPK")
    753             sage: p.add_constraints(1, -1, 2)
     753            sage: p.add_linear_constraints(1, -1, 2)
    754754            sage: p.row_name(0, "Empty constraint 1")
    755755            sage: p.row_name(0)
    756756            'Empty constraint 1'
     
    974974            sage: p = get_solver(solver = "GLPK")
    975975            sage: p.add_variables(2)
    976976            2
    977             sage: p.add_constraint([0, 1], [1, 2], +1, 3)
     977            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)
    978978            sage: p.set_objective([2, 5])
    979979            sage: p.write_lp(SAGE_TMP+"/lp_problem.lp")
    980980        """
     
    994994            sage: p = get_solver(solver = "GLPK")
    995995            sage: p.add_variables(2)
    996996            2
    997             sage: p.add_constraint([0, 1], [1, 2], +1, 3)
     997            sage: p.add_linear_constraint([0, 1], [1, 2], +1, 3)
    998998            sage: p.set_objective([2, 5])
    999999            sage: p.write_lp(SAGE_TMP+"/lp_problem.lp")
    10001000        """
  • sage/numerical/mip.pyx

    diff -r ea607bb451e7 -r fd8eb315d84b sage/numerical/mip.pyx
    a b  
    753753            if min == None and max == None:
    754754                raise ValueError("Both max and min are set to None ? Weird !")
    755755            elif min == max:
    756                 self._backend.add_constraint(indices, values, 0, min)
     756                self._backend.add_linear_constraint(indices, values, 0, min)
    757757            elif min != None:
    758                 self._backend.add_constraint(indices, values, -1, min)
     758                self._backend.add_linear_constraint(indices, values, -1, min)
    759759            elif max != None:
    760                 self._backend.add_constraint(indices, values, +1, max)
     760                self._backend.add_linear_constraint(indices, values, +1, max)
    761761
    762762            if name != None:
    763763                self._backend.row_name(self._backend.nrows()-1,name)