problem.addcols
| problem.addcols | 
  Purpose
 
 
  Add columns to the problem after passing it to the Optimizer using the input routines.
 
 
  Synopsis
 
 problem.addcols (objx, mstart, mrwind, dmatval, bdl, bdu, names, types)
 
  Arguments
 
 | 
     objx 
     | 
     Array containing the objective function coefficients of the new columns.
     | ||||||||||||
| 
     mstart 
     | 
     Array containing the offsets in the
     mrwind and
     dmatval arrays of the start of the elements for each column.
     | ||||||||||||
| 
     mrwind 
     | 
     Array containing the row indices for the elements in each column.
     | ||||||||||||
| 
     dmatval 
     | 
     Array containing the element values.
     | ||||||||||||
| 
     bdl 
     | 
     Array containing the lower bounds on the added columns.
     | ||||||||||||
| 
     bdu 
     | 
     Array containing the upper bounds on the added columns.
     | ||||||||||||
| 
     names 
     | 
     (optional) Array containing the names of the columns added.
     | ||||||||||||
| 
     types 
     | 
     (optional) Array of characters containing the types of the newly added columns:
     
 | 
  Example
 
 
 In this example, we consider the two problems:
 
  
 
 
 
| (a) | maximize: | 2x + y | (b) | maximize: | 2x + y + 3z | |||||
| subject to: | x + 4y | ≤ | 24 | subject to: | x + 4y + 2z | ≤ | 24 | |||
| y | ≤ | 5 | y + z | ≤ | 5 | |||||
| 3x + y | ≤ | 20 | 3x + y | ≤ | 20 | |||||
| x + y | ≤ | 9 | x + y + 3z | ≤ | 9 | |||||
| z | ≤ | 12 | 
 Using
 addcols, the following transforms (a) into (b):
 
 p = xpress.problem ()
p.read ("example.lp")
# assume this problem has at least four constraints
p.addcols (obj = [3], mstart = [0,3], mrwind = [0, 1, 3],
           matval = [2,1,3], bdl = [-xpress.infinity], bdu = [12],
           names = ['john_cleese'], types = ['C'])
  Further information
 
 
 1. The constant
 xpress.infinity can be used to represent infinite bounds.
 
 
 2. If the columns are added to a MIP problem, then they will be continuous variables unless
 types is specified. Use
 problem.chgcoltype to impose integrality conditions on such new columns.
 
 
  Related topics
 
  
