[SCIP] Problem with disjunct of conjuncts with variable dependency

Levinson, Richard J. (ARC-TI)[SGT, INC] richard.j.levinson at nasa.gov
Tue Apr 11 00:18:52 CEST 2017


Hi Gerald,

I've attached the log.txt file generated by SCIP as an attachment to this email, and copied below is my own output which also calls SCIPprintStatistics and other SCIP print functions. Thank you for your help:

SCIP version 3.2.1 [precision: 8 byte] [memory: block] [mode: optimized] [LP solver: SoPlex 2.2.1] [GitHash: c7c6c02]
Copyright (c) 2002-2016 Konrad-Zuse-Zentrum fuer Informationstechnik Berlin (ZIB)
separating/minorthoroot = 0.1
separating/maxroundsrootsubrun = 5
separating/maxaddrounds = 5
separating/maxcutsroot = 5000
separating/poolfreq = 10
04/10/2017 03:13:40 PM: MIPSolver() constructor exit
04/10/2017 03:13:40 PM: ScipModel() constructor
04/10/2017 03:13:40 PM: runScenario()
04/10/2017 03:13:40 PM: ScipModel.createTestModel()
04/10/2017 03:13:40 PM: TimeWindow() [6 12]
04/10/2017 03:13:40 PM: Job.addWindow() job: A [6 12]
04/10/2017 03:13:40 PM: TimeWindow() [25 40]
04/10/2017 03:13:40 PM: Job.addWindow() job: A [25 40]
04/10/2017 03:13:40 PM: MIPSolver.createWindowDisjunct() Job: A
04/10/2017 03:13:40 PM: BinaryVariable() created: one
04/10/2017 03:13:40 PM: MIPSolver.fixVar()  = 1 infeasible: 0, fixed: 1
04/10/2017 03:13:40 PM: IntegerVariable() created: Aend[0 40]
04/10/2017 03:13:40 PM: addToScip() Required: Constraint Aend=start+duration_cons: 0 <= 1 A + 10 one + -1 Aend <= 0
04/10/2017 03:13:40 PM: ScipModel.solve()
presolving:
(round 1, fast)       2 del vars, 1 del conss, 0 add conss, 2 chg bounds, 0 chg sides, 0 chg coeffs, 0 upgd conss, 0 impls, 0 clqs
presolving (2 rounds: 2 fast, 1 medium, 1 exhaustive):
 2 deleted vars, 1 deleted constraints, 0 added constraints, 2 tightened bounds, 0 added holes, 0 changed sides, 0 changed coefficients
 0 implications, 0 cliques
presolved problem has 1 variables (0 bin, 1 int, 0 impl, 0 cont) and 1 constraints
      1 constraints of type <disjunction>
transformed objective value is always integral (scale: 2)
Presolving Time: 0.00

 time | node  | left  |LP iter|LP it/n| mem |mdpt |frac |vars |cons |cols |rows |cuts |confs|strbr|  dualbound   | primalbound  |  gap   
t 0.0s|     1 |     0 |     0 |     - | 195k|   0 |   - |   1 |   1 |   0 |   0 |   0 |   0 |   0 |      --      | 7.100000e+01 |    Inf 
  0.0s|     1 |     0 |     0 |     - | 195k|   0 |   0 |   1 |   1 |   1 |   0 |   0 |   0 |   0 | 2.300000e+01 | 7.100000e+01 | 208.70%
  0.0s|     1 |     0 |     0 |     - | 195k|   0 |   0 |   1 |   1 |   1 |   0 |   0 |   0 |   0 | 2.300000e+01 | 7.100000e+01 | 208.70%
  0.0s|     1 |     2 |     0 |     - | 196k|   0 |   0 |   1 |   1 |   1 |   0 |   0 |   0 |   0 | 2.300000e+01 | 7.100000e+01 | 208.70%

SCIP Status        : problem is solved [optimal solution found]
Solving Time (sec) : 0.00
Solving Nodes      : 3
Primal Bound       : +7.10000000000000e+01 (1 solutions)
Dual Bound         : +7.10000000000000e+01
Gap                : 0.00 %
 
04/10/2017 03:13:40 PM: MIPSolver.solve() BEST Solution
04/10/2017 03:13:40 PM: MIPSolver.solve() A30
 
 
04/10/2017 03:13:40 PM: ScipModel.printSolution()
04/10/2017 03:13:40 PM: 

*** SOLUTION ****


 
04/10/2017 03:13:40 PM: *** FEASIBLE ***
04/10/2017 03:13:40 PM: Job: A [6-40] 30+10=40
04/10/2017 03:13:40 PM: 

** PRINT VARS & CONSTRAINTS **


 
04/10/2017 03:13:40 PM: LP Vars (1)
 
04/10/2017 03:13:40 PM: LP Fixed Vars (2):
<t_Aend>[I]<t_one>[B]
 
04/10/2017 03:13:40 PM: LP Constraints (2):
AendsInw1
AstartsInW1

 
04/10/2017 03:13:40 PM: 

** PRINT PROBLEMS & SOLUTIONS **


04/10/2017 03:13:40 PM: 
MIPSolver.printProblemsAndSolutions()


04/10/2017 03:13:40 PM: 
 origingal problem:

<t_A>[I]STATISTICS
  Problem name     : MIP
  Variables        : 3 (1 binary, 2 integer, 0 implicit integer, 0 continuous)
  Constraints      : 2 initial, 2 maximal
OBJECTIVE
  Sense            : minimize
VARIABLES
  [binary] <one>: obj=1, original bounds=[1,1]
  [integer] <A>: obj=1, original bounds=[6,40]
  [integer] <Aend>: obj=1, original bounds=[0,40]
CONSTRAINTS
  [linear] <Aend=start+duration_cons>: <A>[I] +10<one>[B] -<Aend>[I] == 0;
  [disjunction] <Awindow-disjunction>: disjunction(  [conjunction] <AisInW0conjunction>: conjunction(  [linear] <AstartsInW0>: 6 <= <A>[I] <= 12,   [linear] <AendsInw0>: 6 <= <Aend>[I] <= 12),   [conjunction] <AisInW1conjunction>: conjunction(  [linear] <AstartsInW1>: 25 <= <A>[I] <= 40,   [linear] <AendsInw1>: 25 <= <Aend>[I] <= 40));
END
04/10/2017 03:13:40 PM: 
 transformed problem:

04/10/2017 03:13:40 PM: MIPSolver.printTransformed()
STATISTICS
  Problem name     : t_MIP
  Variables        : 1 (0 binary, 1 integer, 0 implicit integer, 0 continuous)
  Constraints      : 1 initial, 3 maximal
OBJECTIVE
  Sense            : minimize
  Offset           : -4.5
  Scale            : 2
VARIABLES
  [integer] <t_Aend>: obj=1, global bounds=[16,22], local bounds=[16,22]
FIXED
  [binary] <t_one>: obj=0, global bounds=[1,1], local bounds=[1,1], fixed:1
  [integer] <t_A>: obj=0, global bounds=[6,12], local bounds=[6,12], aggregated: -10 +1<t_Aend>
CONSTRAINTS
  [linear] <AstartsInW1>: 35 <= <t_Aend>[I] <= 50;
  [linear] <AendsInw1>: 25 <= <t_Aend>[I] <= 40;
END
 
MIPSolver.printAllSolutions() 10
objective value:                                   71
one                                                 1 	(obj:1)
A                                                  30 	(obj:1)
Aend                                               40 	(obj:1)
ORIGINAL: 71
TRNSFRMD: 40
 
04/10/2017 03:13:40 PM: 

** PRINT STATISTICS **


SCIP Status        : problem is solved [optimal solution found]
Total Time         :       0.00
  solving          :       0.00
  presolving       :       0.00 (included in solving)
  reading          :       0.00
  copying          :       0.00 (0 times copied the problem)
Original Problem   :
  Problem name     : MIP
  Variables        : 3 (1 binary, 2 integer, 0 implicit integer, 0 continuous)
  Constraints      : 2 initial, 2 maximal
  Objective sense  : minimize
Presolved Problem  :
  Problem name     : t_MIP
  Variables        : 1 (0 binary, 1 integer, 0 implicit integer, 0 continuous)
  Constraints      : 1 initial, 3 maximal
Presolvers         :   ExecTime  SetupTime  Calls  FixedVars   AggrVars   ChgTypes  ChgBounds   AddHoles    DelCons    AddCons   ChgSides   ChgCoefs
  boundshift       :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  components       :       0.00       0.00      1          0          0          0          0          0          0          0          0          0
  convertinttobin  :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  domcol           :       0.00       0.00      1          0          0          0          0          0          0          0          0          0
  dualagg          :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  dualinfer        :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  gateextraction   :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  implfree         :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  implics          :       0.00       0.00      1          0          0          0          0          0          0          0          0          0
  inttobinary      :       0.00       0.00      2          0          0          0          0          0          0          0          0          0
  redvub           :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  stuffing         :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  trivial          :       0.00       0.00      2          1          0          0          0          0          0          0          0          0
  tworowbnd        :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  dualfix          :       0.00       0.00      2          0          0          0          0          0          0          0          0          0
  genvbounds       :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  probing          :       0.00       0.00      1          0          0          0          0          0          0          0          0          0
  pseudoobj        :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  conjunction      :       0.00       0.00      0          0          0          0          0          0          0          0          0          0
  disjunction      :       0.00       0.00      2          0          0          0          0          0          0          0          0          0
  linear           :       0.00       0.00      1          0          1          0          2          0          1          0          0          0
  root node        :          -          -      -          0          -          -          2          -          -          -          -          -
Constraints        :     Number  MaxNumber  #Separate #Propagate    #EnfoLP    #EnfoPS     #Check   #ResProp    Cutoffs    DomReds       Cuts    Applied      Conss   Children
  integral         :          0          0          0          0          2          0          5          0          0          0          0          0          0          0
  conjunction      :          0+         1          0          0          2          0          0          0          0          0          0          0          3          0
  disjunction      :          1          1          0          0          1          0          4          0          0          0          0          0          0          2
  linear           :          0+         2          0          2          1          0          0          0          1          0          1          0          0          0
  countsols        :          0          0          0          0          0          0          2          0          0          0          0          0          0          0
Constraint Timings :  TotalTime  SetupTime   Separate  Propagate     EnfoLP     EnfoPS      Check    ResProp    SB-Prop
  integral         :       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00
  conjunction      :       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00
  disjunction      :       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00
  linear           :       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00
  countsols        :       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00       0.00
Propagators        : #Propagate   #ResProp    Cutoffs    DomReds
  dualfix          :          1          0          0          0
  genvbounds       :          0          0          0          0
  obbt             :          0          0          0          0
  probing          :          0          0          0          0
  pseudoobj        :         13          0          0          0
  redcost          :          9          0          0          1
  rootredcost      :          1          0          0          0
  vbounds          :         10          0          0          0
Propagator Timings :  TotalTime  SetupTime   Presolve  Propagate    ResProp    SB-Prop
  dualfix          :       0.00       0.00       0.00       0.00       0.00       0.00
  genvbounds       :       0.00       0.00       0.00       0.00       0.00       0.00
  obbt             :       0.00       0.00       0.00       0.00       0.00       0.00
  probing          :       0.00       0.00       0.00       0.00       0.00       0.00
  pseudoobj        :       0.00       0.00       0.00       0.00       0.00       0.00
  redcost          :       0.00       0.00       0.00       0.00       0.00       0.00
  rootredcost      :       0.00       0.00       0.00       0.00       0.00       0.00
  vbounds          :       0.00       0.00       0.00       0.00       0.00       0.00
Conflict Analysis  :       Time      Calls    Success    DomReds  Conflicts   Literals    Reconvs ReconvLits   LP Iters
  propagation      :       0.00          4          0          -          0        0.0          0        0.0          -
  infeasible LP    :       0.00          0          0          -          0        0.0          0        0.0          0
  bound exceed. LP :       0.00          0          0          -          0        0.0          0        0.0          0
  strong branching :       0.00          0          0          -          0        0.0          0        0.0          0
  pseudo solution  :       0.00          0          0          -          0        0.0          0        0.0          -
  applied globally :       0.00          -          -          0          0        0.0          -          -          -
  applied locally  :          -          -          -          0          0        0.0          -          -          -
Separators         :   ExecTime  SetupTime      Calls    Cutoffs    DomReds       Cuts    Applied      Conss
  cut pool         :       0.00                     0          -          -          0          -          -    (maximal pool size: 0)
  cgmip            :       0.00       0.00          0          0          0          0          0          0
  clique           :       0.00       0.00          0          0          0          0          0          0
  closecuts        :       0.00       0.00          0          0          0          0          0          0
  cmir             :       0.00       0.00          0          0          0          0          0          0
  disjunctive      :       0.00       0.00          0          0          0          0          0          0
  eccuts           :       0.00       0.00          0          0          0          0          0          0
  flowcover        :       0.00       0.00          0          0          0          0          0          0
  gomory           :       0.00       0.00          0          0          0          0          0          0
  impliedbounds    :       0.00       0.00          0          0          0          0          0          0
  intobj           :       0.00       0.00          0          0          0          0          0          0
  mcf              :       0.00       0.00          0          0          0          0          0          0
  oddcycle         :       0.00       0.00          0          0          0          0          0          0
  rapidlearning    :       0.00       0.00          0          0          0          0          0          0
  strongcg         :       0.00       0.00          0          0          0          0          0          0
  zerohalf         :       0.00       0.00          0          0          0          0          0          0
Pricers            :   ExecTime  SetupTime      Calls       Vars
  problem variables:       0.00          -          0          0
Branching Rules    :   ExecTime  SetupTime   BranchLP  BranchExt   BranchPS    Cutoffs    DomReds       Cuts      Conss   Children
  allfullstrong    :       0.00       0.00          0          0          0          0          0          0          0          0
  cloud            :       0.00       0.00          0          0          0          0          0          0          0          0
  distribution     :       0.00       0.00          0          0          0          0          0          0          0          0
  fullstrong       :       0.00       0.00          0          0          0          0          0          0          0          0
  inference        :       0.00       0.00          0          0          0          0          0          0          0          0
  leastinf         :       0.00       0.00          0          0          0          0          0          0          0          0
  mostinf          :       0.00       0.00          0          0          0          0          0          0          0          0
  multaggr         :       0.00       0.00          0          0          0          0          0          0          0          0
  nodereopt        :       0.00       0.00          0          0          0          0          0          0          0          0
  pscost           :       0.00       0.00          0          0          0          0          0          0          0          0
  random           :       0.00       0.00          0          0          0          0          0          0          0          0
  relpscost        :       0.00       0.00          0          0          0          0          0          0          0          0
Primal Heuristics  :   ExecTime  SetupTime      Calls      Found
  LP solutions     :       0.00          -          -          0
  pseudo solutions :       0.00          -          -          0
  strong branching :       0.00          -          -          0
  actconsdiving    :       0.00       0.00          0          0
  bound            :       0.00       0.00          0          0
  clique           :       0.00       0.00          0          0
  coefdiving       :       0.00       0.00          0          0
  crossover        :       0.00       0.00          0          0
  dins             :       0.00       0.00          0          0
  distributiondivin:       0.00       0.00          0          0
  dualval          :       0.00       0.00          0          0
  feaspump         :       0.00       0.00          0          0
  fixandinfer      :       0.00       0.00          0          0
  fracdiving       :       0.00       0.00          0          0
  guideddiving     :       0.00       0.00          0          0
  indicator        :       0.00       0.00          0          0
  intdiving        :       0.00       0.00          0          0
  intshifting      :       0.00       0.00          0          0
  linesearchdiving :       0.00       0.00          0          0
  localbranching   :       0.00       0.00          0          0
  mutation         :       0.00       0.00          0          0
  nlpdiving        :       0.00       0.00          0          0
  objpscostdiving  :       0.00       0.00          0          0
  octane           :       0.00       0.00          0          0
  ofins            :       0.00       0.00          0          0
  oneopt           :       0.00       0.00          0          0
  proximity        :       0.00       0.00          0          0
  pscostdiving     :       0.00       0.00          0          0
  randrounding     :       0.00       0.00          0          0
  rens             :       0.00       0.00          0          0
  reoptsols        :       0.00       0.00          0          0
  rins             :       0.00       0.00          0          0
  rootsoldiving    :       0.00       0.00          0          0
  rounding         :       0.00       0.00          0          0
  shiftandpropagate:       0.00       0.00          0          0
  shifting         :       0.00       0.00          0          0
  simplerounding   :       0.00       0.00          0          0
  subnlp           :       0.00       0.00          0          0
  trivial          :       0.00       0.00          2          1
  trivialnegation  :       0.00       0.00          0          0
  trysol           :       0.00       0.00          0          0
  twoopt           :       0.00       0.00          0          0
  undercover       :       0.00       0.00          0          0
  vbounds          :       0.00       0.00          0          0
  veclendiving     :       0.00       0.00          0          0
  zeroobj          :       0.00       0.00          0          0
  zirounding       :       0.00       0.00          0          0
  other solutions  :          -          -          -          0
Diving Statistics  :      Calls      Nodes   LP Iters Backtracks   MinDepth   MaxDepth   AvgDepth  NLeafSols  MinSolDpt  MaxSolDpt  AvgSolDpt
  actconsdiving    :          0          -          -          -          -          -          -          -          -          -          -
  coefdiving       :          0          -          -          -          -          -          -          -          -          -          -
  distributiondivin:          0          -          -          -          -          -          -          -          -          -          -
  fracdiving       :          0          -          -          -          -          -          -          -          -          -          -
  guideddiving     :          0          -          -          -          -          -          -          -          -          -          -
  linesearchdiving :          0          -          -          -          -          -          -          -          -          -          -
  pscostdiving     :          0          -          -          -          -          -          -          -          -          -          -
  veclendiving     :          0          -          -          -          -          -          -          -          -          -          -
LP                 :       Time      Calls Iterations  Iter/call   Iter/sec  Time-0-It Calls-0-It
  primal LP        :       0.00          1          0       0.00          -       0.00          1
  dual LP          :       0.00          2          0       0.00          -       0.00          2
  lex dual LP      :       0.00          0          0       0.00          -
  barrier LP       :       0.00          0          0       0.00          -       0.00          0
  diving/probing LP:       0.00          0          0       0.00          -
  strong branching :       0.00          0          0       0.00          -
    (at root node) :          -          0          0       0.00          -
  conflict analysis:       0.00          0          0       0.00          -
B&B Tree           :
  number of runs   :          1
  nodes            :          3 (1 internal, 2 leaves)
  nodes (total)    :          3 (1 internal, 2 leaves)
  nodes left       :          0
  max depth        :          1
  max depth (total):          1
  backtracks       :          0 (0.0%)
  delayed cutoffs  :          0
  repropagations   :          1 (0 domain reductions, 0 cutoffs)
  avg switch length:       2.00
  switching time   :       0.00
Root Node          :
  First LP value   : +2.30000000000000e+01
  First LP Iters   :          0
  First LP Time    :       0.00
  Final Dual Bound : +2.30000000000000e+01
  Final Root Iters :          0
Solution           :
  Solutions found  :          1 (1 improvements)
  First Solution   : +7.10000000000000e+01   (in run 1, after 1 nodes, 0.00 seconds, depth 0, found by <trivial>)
  Gap First Sol.   :   infinite
  Gap Last Sol.    :   infinite
  Primal Bound     : +7.10000000000000e+01   (in run 1, after 1 nodes, 0.00 seconds, depth 0, found by <trivial>)
  Dual Bound       : +7.10000000000000e+01
  Gap              :       0.00 %
  Avg. Gap         :       0.00 % (0.00 primal-dual integral)
 
 


________________________________________
From: Scip [scip-bounces at zib.de] on behalf of Gerald Gamrath [gamrath at zib.de]
Sent: Monday, April 10, 2017 2:45 PM
To: scip at zib.de
Subject: Re: [SCIP] Problem with disjunct of conjuncts with variable dependency

Hi Richard,

updating to 4.0 would be good, but I'm actually also finding the
solution with objective 61 when using SCIP 3.2.1. Could you send me the
log file of your run, best including the output of SCIPprintStatistics()?

Best,
Gerald

Am 10.04.2017 um 21:29 schrieb Levinson, Richard J. (ARC-TI)[SGT, INC]:
> I have verified that I am calling SCIPgetBestSol() but still not getting the optimal solution. I am using SCIP opt suite 3.2.1 and you mentioned you got different results with SCIP 4.0.  Should I update to 4.0?
>
> - Rich
> ________________________________________
> From: Scip [scip-bounces at zib.de] on behalf of Ambros Gleixner [gleixner at zib.de]
> Sent: Saturday, April 08, 2017 4:46 AM
> To: scip at zib.de
> Subject: Re: [SCIP] Problem with disjunct of conjuncts with variable dependency
>
> Hi Richard,
>
> My first guess would be that you are accessing all solutions found by
> SCIP during the solving process and thereby also inspect suboptimal
> solutions.  For these it must not hold that A is scheduled as early as
> possible.  So make sure you only access the best solution via
> SCIPgetBestSol(), which is optimal unless you hit some limits on gap,
> running time, nodes, etc.
>
> If I solve the CIP you sent with SCIP 4.0 then I get an optimal solution
> with objective function value 61, which has A = 25 as expected.
>
> The first feasible solution that SCIP finds during the solving process
> has objective value 71.  This is probably the one you reported in your
> e-mail.  This is produced by the "trivial" heuristic, and by the name
> you might already guess that it doesn't do anything too fancy.  But in
> general it helps to have such suboptimal solutions early to reach the
> optimal one quicker.
>
> Happy SCIPing,
> Ambros
>
>
>
>
>
>
>
> On 08.04.2017 00:02, Levinson, Richard J. (ARC-TI)[SGT, INC] wrote:
>> Hello,
>>
>> I am having difficulty with a disjunct of conjuncts where one of the
>> conjuncts has an inferred variable End which should be dependent on
>> another variable Start but it seems to get the dependencies backward,
>> and pins down End and then infers Start from that.
>>
>> Scenario:
>> I want to schedule a Job A to start at a time between 6 and 40, but it
>> must start and end within one of two time windows [6,12] or [25,40].  If
>> A duration <= 6 then it should fit into window 1, but when duration > 6,
>> it must schedule it in the second time window. I expect it to schedule
>> it to start at 25 (the earliest time in window 2) but it doesn't.
>>
>> SCIP problem printout is shown below but here's the story:
>>
>> I have a disjunct constraint that says "A must start AND stop within
>> window 1" OR "A must start and stop within window 2".
>>
>> I have a constraint to enforce that the end time of A = the start time
>> of A + the duration of A.  Assuming A is the start time for Job A, then
>> A_end = A + A_duration.
>>
>> The problem is that that SCIP seems to always assign A_end to its upper
>> bound and then inferring A (start time), but I need it to do the
>> opposite: solve for A and then inferr A_end from that.  So if the valid
>> time window for A is [20,40] and A duration is 10, then it produces
>> solution A=30 (A = A_end - 10), but I want it to set A = 20 and infer
>> A_end = 20 + 10.
>>
>> If I initialize A_end with upper bound of 100, then SCIP fails to find a
>> solution at all because it infers A =100-10 = 90 which is not a valid
>> window for A.  When I set A_end upper bound to 40 (same as A_start),
>> then it sets A = 30 = 40 -10. When I set A_end upper bound to 35, then
>> it sets A = 25 = 35 - 10.
>>
>> Here are the SCIP printouts of the original and transformed problems. I
>> made these printouts just now at 04/07/2017 02:10:09 PM. I am using the
>> C-API with default plugins and I do not have any other plugins.
>>
>> ORIGINAL PROBLEM:
>>
>>
>> <t_A>[I]STATISTICS
>>
>>    Problem name     : MIP
>>
>>    Variables        : 3 (1 binary, 2 integer, 0 implicit integer, 0
>> continuous)
>>
>>    Constraints      : 2 initial, 2 maximal
>>
>> OBJECTIVE
>>
>>    Sense            : minimize
>>
>> VARIABLES
>>
>>    [binary] <one>: obj=1, original bounds=[1,1]
>>
>>    [integer] <A>: obj=1, original bounds=[6,40]
>>
>>    [integer] <Aend>: obj=1, original bounds=[6,40]
>>
>> CONSTRAINTS
>>
>>    [linear] <Aend=start+duration_cons>: <A>[I] +10<one>[B] -<Aend>[I] == 0;
>>
>>    [disjunction] <Awindow-disjunction>: disjunction(
>>
>> [conjunction] <AisInW0conjunction>: conjunction(
>>
>> [linear] <AstartsInW0>: 6 <= <A>[I] <= 12,
>>
>> [linear] <AendsInw0>: 6 <= <Aend>[I] <= 12),
>>
>> [conjunction] <AisInW1conjunction>: conjunction(
>>
>> [linear] <AstartsInW1>: 25 <= <A>[I] <= 40,
>>
>>   [linear] <AendsInw1>: 25 <= <Aend>[I] <= 40));
>>
>> END
>>
>> --------------------------------
>>
>>
>> TRANSFORMED PROBLEM:
>>
>> Here is the transformed problem and solution below.Notice that it shows
>> A as fixed and Aend as variable and that the transformed constraints
>> only include Aend (no mention of A start time in the constraints at all):
>>
>>
>> STATISTICS
>>
>>    Problem name     : t_MIP
>>
>>    Variables        : 1 (0 binary, 1 integer, 0 implicit integer, 0
>> continuous)
>>
>>    Constraints      : 1 initial, 3 maximal
>>
>> OBJECTIVE
>>
>>    Sense            : minimize
>>
>>    Offset           : -4.5
>>
>>    Scale            : 2
>>
>> VARIABLES
>>
>>    [integer] <t_Aend>: obj=1, global bounds=[16,22], local bounds=[16,22]
>>
>> FIXED
>>
>>    [binary] <t_one>: obj=0, global bounds=[1,1], local bounds=[1,1], fixed:1
>>
>>    [integer] <t_A>: obj=0, global bounds=[6,12], local bounds=[6,12],
>> aggregated: -10 +1<t_Aend>
>>
>> CONSTRAINTS
>>
>>    [linear] <AstartsInW1>: 35 <= <t_Aend>[I] <= 50;
>>
>>    [linear] <AendsInw1>: 25 <= <t_Aend>[I] <= 40;
>>
>> END
>>
>>
>>
>> MIPSolver.printAllSolutions() 10
>>
>> objective value:                                   71
>>
>> one                                                 1 (obj:1)
>>
>> A                                                  30 (obj:1)
>>
>> Aend                                               40 (obj:1)
>>
>> ORIGINAL: 71
>>
>> TRNSFRMD: 40
>>
>>
>> Thank you for any feedback you may have.
>>
>> - Rich
>>
>>
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> https://listserv.zib.de/mailman/listinfo/scip
>>
> --
> Ambros Gleixner, Zuse Institute Berlin, http://www.zib.de/gleixner
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> https://listserv.zib.de/mailman/listinfo/scip

_______________________________________________
Scip mailing list
Scip at zib.de
https://listserv.zib.de/mailman/listinfo/scip
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: log.txt
URL: <http://listserv.zib.de/pipermail/scip/attachments/20170410/39964b9e/attachment.txt>


More information about the Scip mailing list