Extended'Formula/ons'for'Quadra/c'...

57
Extended Formula/ons for Quadra/c Mixed Integer Programming Juan Pablo Vielma Sloan School of Business, Massachuse@s Ins/tute of Technology IP for Lunch, IBM T. J. Watson Research Center, Yorktown Heights, NY. December, 2014. Supported by NSF grants CMMIS1233441 and CMMIS1351619

Transcript of Extended'Formula/ons'for'Quadra/c'...

Page 1: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Extended'Formula/ons'for'Quadra/c'Mixed'Integer'Programming'

Juan'Pablo'Vielma''

Sloan'School'of'Business,''Massachuse@s'Ins/tute'of'Technology'''IP'for'Lunch,''IBM'T.'J.'Watson'Research'Center,'Yorktown'Heights,'NY.'December,'2014.''Supported'by'NSF'grants'CMMIS1233441'and'CMMIS1351619'

Page 2: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

  '''''''''''''''''''''   ''''''''''''''''''''''''

  '''''''''''''''''''''''   '''''''''''''''''''''''''''

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 3: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''   ''''''''''''''''''''''''

  '''''''''''''''''''''''   '''''''''''''''''''''''''''

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 4: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''   ''''''''''''''''''''''''

  '''''''''''''''''''''''   '''''''''''''''''''''''''''

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 5: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''   ''''''''''''''''''''''''

  '''''''''''''''''''''''   '''''''''''''''''''''''''''

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 6: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''   ''''''''''''''''''''''''

  '''''''''''''''''''''''   '''''''''''''''''''''''''''

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 7: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''•  (Dynamic)'LP'Based'B&B''

–  Few'cuts'='high'speed.'–  Possible'slow'convergence.'

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 8: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''•  (Dynamic)'LP'Based'B&B''

–  Few'cuts'='high'speed.'–  Possible'slow'convergence.'

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 9: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''•  (Dynamic)'LP'Based'B&B''

–  Few'cuts'='high'speed.'–  Possible'slow'convergence.'

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 10: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''•  (Dynamic)'LP'Based'B&B''

–  Few'cuts'='high'speed.'–  Possible'slow'convergence.'

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 11: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''•  (Dynamic)'LP'Based'B&B''

–  Few'cuts'='high'speed.'–  Possible'slow'convergence.'

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 12: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''•  (Dynamic)'LP'Based'B&B''

–  Few'cuts'='high'speed.'–  Possible'slow'convergence.'

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 13: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''•  (Dynamic)'LP'Based'B&B''

–  Few'cuts'='high'speed.'–  Possible'slow'convergence.'

  '''''''''''''''   '''''''''''''''''''''''''''''''   ''''''''''''''''''

  ''''''''''''''''   '''''''''''''''''''

  ''''''''''''''''

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 14: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''•  (Dynamic)'LP'Based'B&B''

–  Few'cuts'='high'speed.'–  Possible'slow'convergence.'

•  Li_ed'LP'B&B''–  Extended'or'Li_ed'relaxa/on.'–  Sta/c'relaxa/on'

•  Mimic'NLP'B&B.''–  Dynamic'relaxa/on'

•  Standard'LP'B&B'

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 15: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Nonlinear'MIP'B&B'Algorithms'

•  NLP'(QCP)'Based'B&B''•  (Dynamic)'LP'Based'B&B''

–  Few'cuts'='high'speed.'–  Possible'slow'convergence.'

•  Li_ed'LP'B&B''–  Extended'or'Li_ed'relaxa/on.'–  Sta/c'relaxa/on'

•  Mimic'NLP'B&B.''–  Dynamic'relaxa/on'

•  Standard'LP'B&B'

Extended'Formula/ons'for'MIQCP' 1'/'25'

Page 16: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Sta/c'Li_ed'LP'for'Conic'Quadra/c'MIP'

•  Approxima/on'of'Second'Order'Cone'of'dimension'n by'BenSTal'and'Nemirovski'(Glineur).'

•  '''''''''''''''''''''''''''variables'and'constraints'for'quality''''.'–  Exponen/al'increment'in'#'of'constraints'through'projec/on.'

•  Problem:'–  Fixed'aSpriori'quality:'no'dynamic'improvement'(e.g.'''''''''''''''''''best'for''some'porfolio'op/miza/on'problems)'

r

Extended'Formula/ons'for'MIQCP' 2'/'25'

Page 17: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Correct'Quality'='Significant'Improvement'

•  Results'from'V.,'Ahmed'and''Nemhauser'’08.'Introduction Lifted LP Algorithm Computational Results Final Remarks

Avg. of Solve Times [s] for n 2 {20, 30} (CPLEX v11)

0.1

1

10

100

LP(!)-BB CPLEX QCP CPLEX LP 0.1

1

10

100

LP(!)-BB CPLEX QCP CPLEX LP

Average'Solve'Times'[s]'

Extended'Formula/ons'for'MIQCP' 3'/'25'

Page 18: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Dynamic'Li_ed'LP'for'Separable'Problems''

•  Mo/va/ng'example'from'Hijazi'et'al.'‘14'

-0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2-0.2

0.0

0.2

0.4

0.6

0.8

1.0

1.2

Extended'Formula/ons'for'MIQCP' 4'/'25'

Page 19: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Dynamic'Li_ed'LP'for'Separable'Problems''

•  Mo/va/ng'example'from'Hijazi'et'al.'‘14'

-0.2 0.0 0.2 0.4 0.6 0.8 1.0 1.2-0.2

0.0

0.2

0.4

0.6

0.8

1.0

1.2

Extended'Formula/ons'for'MIQCP' 4'/'25'

Page 20: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Dynamic'Li_ed'LP'for'Separable'Problems''

•  Mo/va/ng'example'from'Hijazi'et'al.'‘14'

0 0.5 1��0

0.25

0.5��

Extended'Formula/ons'for'MIQCP' 4'/'25'

Page 21: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Dynamic'Li_ed'LP'for'Separable'Problems''

•  Mo/va/ng'example'from'Hijazi'et'al.'‘14'

0 0.5 1��0

0.25

0.5��

Extended'Formula/ons'for'MIQCP' 4'/'25'

Page 22: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Significant'Improvement'For'Many'Problems'

•  Tawarmalani'and'Sahinidis'’05:'

  ''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''''

Li_ed'Relaxa/on'of''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':''

Extended'Formula/ons'for'MIQCP' 5'/'25'

Page 23: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Significant'Improvement'For'Many'Problems'

•  Tawarmalani'and'Sahinidis'’05:'

  ''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''''

Li_ed'Relaxa/on'of''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':''

Extended'Formula/ons'for'MIQCP' 5'/'25'

Page 24: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Significant'Improvement'For'Many'Problems'

•  Tawarmalani'and'Sahinidis'’05:'

•  Polynomial'(degree'n)'increment'in'#'of'constraints'through'projec/on'

Li_ed'Relaxa/on'of''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':''

Extended'Formula/ons'for'MIQCP' 5'/'25'

Page 25: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Separable'Approach'for'Conic'Quadra/c?'

•  “Separable'Sets”'include'many'quadra/cs:'–  Euclidean'Ball'

–  Paraboloids'

•  Does'not'include'Lorentz/SOCP'cone:'

Extended'Formula/ons'for'MIQCP' 6'/'25'

Page 26: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

•  From'Euclid'to'Lorentz''

Separable'to'Conic:'Homogenize'

Extended'Formula/ons'for'MIQCP' 7'/'25'

Page 27: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

•  From'Euclid'to'Lorentz''

Separable'to'Conic:'Homogenize'

Extended'Formula/ons'for'MIQCP' 7'/'25'

Page 28: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

•  From'Euclid'to'Lorentz''

Separable'to'Conic:'Homogenize'

Extended'Formula/ons'for'MIQCP' 7'/'25'

Page 29: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Li_ed'Relaxa/on'for'Separable'Conic'Sets'

Li_ed'Relaxa/on'of'''''''''''''''''''''''''''''''''''':''

Extended'Formula/ons'for'MIQCP' 8'/'25'

Page 30: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Li_ed'Reformula/on'for'Conic'Quadra/c'Sets'

•  Li_ed'Reformula/on'of'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':'

Extended'Formula/ons'for'MIQCP' 9'/'25'

Page 31: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Li_ed'Reformula/on'for'Conic'Quadra/c'Sets'

•  Li_ed'Reformula/on'of'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':'

Extended'Formula/ons'for'MIQCP' 9'/'25'

Page 32: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Li_ed'Reformula/on'for'Conic'Quadra/c'Sets'

•  Li_ed'Reformula/on'of'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''':'

•  Li_ed'polyhedral'relaxa/on'automa/c'from'standard'polyhedral'approxima/on'of'(rotated)'SOCP'cone:'–  'Dynamic'Li_ed'LPSbased'algorithm:'

1.  Replace'every'SOCP'cone'with'li_ed'reformula/on'2.  Solve'with'standard'LPSbased'algorithm''

Extended'Formula/ons'for'MIQCP' 9'/'25'

Page 33: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'1:'Solvers'

  ''''''''''''''''''''''''''''   !!!!!!!''''''''''''''''''   !!!!!!!!'''''''''''''''''''

  '''''''''''''''''''''''''''''''''''''''   !!!!!!!''''''''''''''''''   !!!!!!!!'''''''''''''''''''

  ''''''''''''''''''''''''''''''''''''''''''   !!!!!!!!!!''''''''''''''''''''''''''''''''''''   !!!!!!!!!!!''''''''''''''''''''''''''''''''''''

  ''''''''''''''''''''''''''''''''   ''''''''''''''''''''''''''''''''''''''''''' Extended'Formula/ons'for'MIQCP' 10'/'25'

Page 34: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'1:'Solvers'

•  NLPSbased'BranchSandSBound:'–  CPLEXCP':'MIQCPSTRAT'='1'–  GurobiCP':'MIQCPMethod'='0'

  '''''''''''''''''''''''''''''''''''''''   !!!!!!!''''''''''''''''''   !!!!!!!!'''''''''''''''''''

  ''''''''''''''''''''''''''''''''''''''''''   !!!!!!!!!!''''''''''''''''''''''''''''''''''''   !!!!!!!!!!!''''''''''''''''''''''''''''''''''''

  ''''''''''''''''''''''''''''''''   ''''''''''''''''''''''''''''''''''''''''''' Extended'Formula/ons'for'MIQCP' 10'/'25'

Page 35: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'1:'Solvers'

•  NLPSbased'BranchSandSBound:'–  CPLEXCP':'MIQCPSTRAT'='1'–  GurobiCP':'MIQCPMethod'='0'

•  Tradi/onal'LPSbased'BranchSandSBound:'–  CPLEXLP':'MIQCPSTRAT'='2'–  GurobiLP':'MIQCPMethod'='1'

  ''''''''''''''''''''''''''''''''''''''''''   !!!!!!!!!!''''''''''''''''''''''''''''''''''''   !!!!!!!!!!!''''''''''''''''''''''''''''''''''''

  ''''''''''''''''''''''''''''''''   ''''''''''''''''''''''''''''''''''''''''''' Extended'Formula/ons'for'MIQCP' 10'/'25'

Page 36: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'1:'Solvers'

•  NLPSbased'BranchSandSBound:'–  CPLEXCP':'MIQCPSTRAT'='1'–  GurobiCP':'MIQCPMethod'='0'

•  Tradi/onal'LPSbased'BranchSandSBound:'–  CPLEXLP':'MIQCPSTRAT'='2'–  GurobiLP':'MIQCPMethod'='1'

•  Dynamic'Li_ed'LPSbased'BranchSandSBound:'–  CPLEXSepLP':'CPLEXLP'on''li_ed'reformula/on'–  GurobiSepLP:'GurobiLP'on''li_ed'reformula/on'

  ''''''''''''''''''''''''''''''''   ''''''''''''''''''''''''''''''''''''''''''' Extended'Formula/ons'for'MIQCP' 10'/'25'

Page 37: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'1:'Solvers'

•  NLPSbased'BranchSandSBound:'–  CPLEXCP':'MIQCPSTRAT'='1'–  GurobiCP':'MIQCPMethod'='0'

•  Tradi/onal'LPSbased'BranchSandSBound:'–  CPLEXLP':'MIQCPSTRAT'='2'–  GurobiLP':'MIQCPMethod'='1'

•  Dynamic'Li_ed'LPSbased'BranchSandSBound:'–  CPLEXSepLP':'CPLEXLP'on''li_ed'reformula/on'–  GurobiSepLP:'GurobiLP'on''li_ed'reformula/on'

•  CPLEX'v'12.6'and'Gurobi'v'5.6.3'   ''''''''''''''''''''''''''''''''''''''''''' Extended'Formula/ons'for'MIQCP' 10'/'25'

Page 38: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'1:'Solvers'

•  NLPSbased'BranchSandSBound:'–  CPLEXCP':'MIQCPSTRAT'='1'–  GurobiCP':'MIQCPMethod'='0'

•  Tradi/onal'LPSbased'BranchSandSBound:'–  CPLEXLP':'MIQCPSTRAT'='2'–  GurobiLP':'MIQCPMethod'='1'

•  Dynamic'Li_ed'LPSbased'BranchSandSBound:'–  CPLEXSepLP':'CPLEXLP'on''li_ed'reformula/on'–  GurobiSepLP:'GurobiLP'on''li_ed'reformula/on'

•  CPLEX'v'12.6'and'Gurobi'v'5.6.3'•  Time'limit'of'3,600's'on'i7S3770'3.40GHz''' Extended'Formula/ons'for'MIQCP' 10'/'25'

Page 39: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'1:'Instances'

•  Porfolio'op/miza/on'problems:'

Classical:'

Extended'Formula/ons'for'MIQCP' 11'/'25'

Page 40: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Results'for'CPLEX:'100'instances'per'n'

��

���������

���������

���������

��

��

����

����

20 30 40 50 60

10-2

0.1

1

10

100

1000

������� ������� ����������

Time'[s]'

n'

Extended'Formula/ons'for'MIQCP' 12'/'25'

Page 41: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Results'for'Gurobi:'100'instances'per'n'Time'[s]'

n'

��

��

��

�����

��

���

���

���

��

20 30 40 50 60

10-2

0.1

1

10

100

1000

�������� ������� ����������Extended'Formula/ons'for'MIQCP' 13'/'25'

Page 42: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'2:'More'Solvers'

•  Sta/c'Li_ed'LPSbased'BranchSandSBound:'–  Li0edLP:'from'V.,'Ahmed'and''Nemhauser'’08'–  Fixed'approxima/on'by'BenSTal'and'Nemirovski'(Glineur)'–  No'refinement:'integer'nodes'='solve'NLP'and'process'–  Heuris/c:'Correct'integral'solu/ons'(fix'integers,'solve'NLP)''–  CPLEX'Branch,'heuris/c'and'incumbent'callbacks'in'JuMP'

  '''''''''''''''''''''''''''''''''''''''''''''''''   !!!!!!!!!!!!'''!!!!!!!!!!!!!'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''

  ''''''''''''''''''''''''''''''''''''''''''   '''''''''''''''''''''''''''''''''''''''''

Extended'Formula/ons'for'MIQCP' 14'/'25'

Page 43: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'2:'More'Solvers'

•  Sta/c'Li_ed'LPSbased'BranchSandSBound:'–  Li0edLP:'from'V.,'Ahmed'and''Nemhauser'’08'–  Fixed'approxima/on'by'BenSTal'and'Nemirovski'(Glineur)'–  No'refinement:'integer'nodes'='solve'NLP'and'process'–  Heuris/c:'Correct'integral'solu/ons'(fix'integers,'solve'NLP)''–  CPLEX'Branch,'heuris/c'and'incumbent'callbacks'in'JuMP'

•  Sta/c/Dynamic'Li_ed'LPSbased'BranchSandSBound:'–  CPLEXSepLazy'/'GurobiSepLazy':'Li_edLP'+'Refinement'through'Separable'extended'formula/on'

–  Solver'independent'implementa/on'in'JuMP'

  '''''''''''''''''''''''''''''''''''''''''Extended'Formula/ons'for'MIQCP' 14'/'25'

Page 44: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'2:'More'Solvers'

•  Sta/c'Li_ed'LPSbased'BranchSandSBound:'–  Li0edLP:'from'V.,'Ahmed'and''Nemhauser'’08'–  Fixed'approxima/on'by'BenSTal'and'Nemirovski'(Glineur)'–  No'refinement:'integer'nodes'='solve'NLP'and'process'–  Heuris/c:'Correct'integral'solu/ons'(fix'integers,'solve'NLP)''–  CPLEX'Branch,'heuris/c'and'incumbent'callbacks'in'JuMP'

•  Sta/c/Dynamic'Li_ed'LPSbased'BranchSandSBound:'–  CPLEXSepLazy'/'GurobiSepLazy':'Li_edLP'+'Refinement'through'Separable'extended'formula/on'

–  Solver'independent'implementa/on'in'JuMP'

•  ~'400'lines'of'JuMP'code'in'about'a'week'Extended'Formula/ons'for'MIQCP' 14'/'25'

Page 45: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

JuMP':'Julia'for'Mathema/cal'Programming'

•  Developed'by'ORC'students:'Iain'Dunning,'Joey'Huche@e'and'Miles'Lubin.'

•  “As'easy'as'AMPL'and'faster'than'C++”'(JPV'2014).'•  Linear/Quadra/c'MIP'and'general'nonlinear'

–  'Cbc/Clp,'CPLEX,'ECOS,'GLPK,'Gurobi,'Ipopt,'KNITRO,'MOSEK,'and'Nlopt.'

•  Automa/c'differen/a/on,'solver'independent'MIP'callbacks,'etc.'

•  h@ps://github.com/JuliaOpt/JuMP.jl'

11/29/14, 7:36 PM

Page 1 of 1file:///Users/jvielma/Documents/archivos/Curriculum/XML/public_html/jump.svg

Extended'Formula/ons'for'MIQCP' 15'/'25'

Page 46: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'2':'More'Instances'

•  Porfolio'op/miza/on'problems:'

Classical:'

Extended'Formula/ons'for'MIQCP' 16'/'25'

Page 47: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'2':'More'Instances'

•  Porfolio'op/miza/on'problems:'

Shorfall:'

Extended'Formula/ons'for'MIQCP' 16'/'25'

Page 48: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Computa/onal'Experiments'2':'More'Instances'

•  Porfolio'op/miza/on'problems:'

Robust:'

Extended'Formula/ons'for'MIQCP' 16'/'25'

Page 49: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Performance'Profile'for'n'“=“'20S60,'100'and'200''

100 101 102 103 104 1050

0.2

0.4

0.6

0.8

1

Performance Ratio

Problem

ssolved

CPLEXCP

CPLEXLP

CPLEXSepLP

CPLEXSepLazy

GurobiCP

GurobiLP

GurobiSepLP

GurobiSepLazy

LiftedLP

Extended'Formula/ons'for'MIQCP' 17'/'25'

Page 50: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Performance'Profile'for'n'“=“'20S60,'100'and'200''

100 101 102 103 104 1050

0.2

0.4

0.6

0.8

1

Performance Ratio

Problem

ssolved

CPLEXCP

CPLEXLP

CPLEXSepLP

CPLEXSepLazy

GurobiCP

GurobiLP

GurobiSepLP

GurobiSepLazy

LiftedLP

Extended'Formula/ons'for'MIQCP' 17'/'25'

Page 51: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Performance'Profile'for'n'“=“'20S60,'100'and'200''

100 101 102 103 104 1050

0.2

0.4

0.6

0.8

1

Performance Ratio

Problem

ssolved

CPLEXCP

CPLEXLP

CPLEXSepLP

CPLEXSepLazy

GurobiCP

GurobiLP

GurobiSepLP

GurobiSepLazy

LiftedLP

Extended'Formula/ons'for'MIQCP' 17'/'25'

Page 52: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Performance'Profile'for'n'“=“'20S60,'100'and'200''

100 101 102 103 104 1050

0.2

0.4

0.6

0.8

1

Performance Ratio

Problem

ssolved

CPLEXCP

CPLEXLP

CPLEXSepLP

CPLEXSepLazy

GurobiCP

GurobiLP

GurobiSepLP

GurobiSepLazy

LiftedLP

Extended'Formula/ons'for'MIQCP' 17'/'25'

Page 53: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Performance'Profile'for'n'“=“'20S60,'100'and'200''

100 101 102 103 104 1050

0.2

0.4

0.6

0.8

1

Performance Ratio

Problem

ssolved

CPLEXCP

CPLEXLP

CPLEXSepLP

CPLEXSepLazy

GurobiCP

GurobiLP

GurobiSepLP

GurobiSepLazy

LiftedLP

Extended'Formula/ons'for'MIQCP' 17'/'25'

Page 54: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Summary''

  ''''''''''''''''''''''''''''''''''   '''''''''''''''''''''''''''''''''''''''''''

  '''''''''''''''''''''''''''''''''''''''''''''   ''''''''''''''''''''''''''''''   ''''''''''''''''''''''''''''''''''''''''''''''''

  '''''''''''''''''''''''''''

Extended'Formula/ons'for'MIQCP' 18'/'25'

Page 55: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Summary''

•  Extended'Formula/ons'can'help'in'–  LPSbased'B&B:'Both'in'theory'and'prac/ce.'

  '''''''''''''''''''''''''''''''''''''''''''''   ''''''''''''''''''''''''''''''   ''''''''''''''''''''''''''''''''''''''''''''''''

  '''''''''''''''''''''''''''

Extended'Formula/ons'for'MIQCP' 18'/'25'

Page 56: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Summary''

•  Extended'Formula/ons'can'help'in'–  LPSbased'B&B:'Both'in'theory'and'prac/ce.'

•  'Most'ideas'can'be'extended'beyond'quadra/c'–  pSorder'cones'almost'directly'–  General'nonlinear'through'perspec/ve'func/ons'

  '''''''''''''''''''''''''''

Extended'Formula/ons'for'MIQCP' 18'/'25'

Page 57: Extended'Formula/ons'for'Quadra/c' …jvielma/presentations/EXTQCP_IBM_14.pdfNonlinear'MIP'B&B'Algorithms' • NLP'(QCP)'Based'B&B'' • (Dynamic)'LP'Based'B&B'' – Few'cuts'='high'speed.'

Summary''

•  Extended'Formula/ons'can'help'in'–  LPSbased'B&B:'Both'in'theory'and'prac/ce.'

•  'Most'ideas'can'be'extended'beyond'quadra/c'–  pSorder'cones'almost'directly'–  General'nonlinear'through'perspec/ve'func/ons'

•  You'should'definitely'try:'

11/29/14, 7:36 PM

Page 1 of 1file:///Users/jvielma/Documents/archivos/Curriculum/XML/public_html/jump.svg

Extended'Formula/ons'for'MIQCP' 18'/'25'