®”Œv‰æ–@ƒƒ‚

ƒgƒbƒvƒy[ƒW‚Ö–ß‚é

–{ƒy[ƒW‚ÌURL‚ª https://www.jskrtf.com/~miya/ipmemo.html ‚©‚ç https://web.jskrtf.com/~miya/ipmemo.html ‚Ö•ÏX‚É‚È‚è‚Ü‚µ‚½D ‚»‚ê‚ɉž‚¶‚ÄC–{ƒy[ƒW‚©‚烊ƒ“ƒN‚³‚ê‚Ä‚¢‚éƒ_ƒEƒ“ƒ[ƒh‰Â”\‚ȃtƒ@ƒCƒ‹‚ɂ‚¢‚Ä‚àCURL‚ª•ÏX‚É‚È‚Á‚Ä‚¢‚Ü‚·D


‚Í‚¶‚ß‚É

@‚±‚̃y[ƒW‚É‚ÍC®”Å“K‰»–â‘èi®”Œv‰æ–â‘èj‚ðƒ\ƒ‹ƒo[‚ʼnð‚­Û‚ÉC’m‚Á‚Ä‚¢‚é‚Æ–ð‚É—§‚‚©‚à‚µ‚ê‚È‚¢î•ñ‚ðŽG‘½‚É‹L‚µ‚Ä‚¢‚Ü‚·D ®”Å“K‰»i®”Œv‰æ–@j‚Í‹­—Í‚ÈÅ“K‰»Žè–@‚̈ê‚‚Ȃ̂ł·‚ªCuŽÀÛ‚É‰ð‚«‚½‚¢Žž‚É“ú–{Œê‚Ìî•ñ‚ª‚ ‚Ü‚è–³‚¢v‚ÆŽ¨‚É‚µ‚½‚Ì‚ª‚±‚̃y[ƒW‚ðì‚Á‚½‚«‚Á‚©‚¯‚Å‚·D

‚¨‚±‚Æ‚í‚è

@‚±‚̃y[ƒW‚É‘‚¢‚Ä‚ ‚éî•ñ‚Í–³•ÛØ‚Å‚ ‚èC•MŽÒ‚͈êØ‚ÌÓ”C‚ðŽ‚¿‚Ü‚¹‚ñD Ž©ŒÈÓ”C‚Å‚²—˜—p‚­‚¾‚³‚¢D ‚à‚¿‚ë‚ñC‚È‚é‚ׂ­³‚µ‚¢‚±‚Æ‚ð‘‚­‚悤‚É‚µ‚Ü‚·‚ªCî•ñ‚ªŒÃ‚­‚È‚Á‚Ä‚¢‚½‚èŠÔˆá‚Á‚Ä‚¢‚½‚è‚·‚邱‚Æ‚à‚ ‚é‚ÆŽv‚í‚ê‚Ü‚·D ‚¨‹C‚«‚Ì•û‚Í•MŽÒ‚Ü‚Å‚²˜A—‚¢‚½‚¾‚¯‚é‚ÆK‚¢‚Å‚·D “Á‚ÉCƒŠƒ“ƒNæiURL/‚»‚Ì“à—ej‚âƒ\ƒ‹ƒo[‹@”\‚Ì•ÏXC®”Å“K‰»‚âŒvŽZ‹@‚Ìi•à‚É‚æ‚é’è΂̕ω»‚È‚Ç‚É‚²’ˆÓ‚­‚¾‚³‚¢D

XV—š—ð

@‚±‚̃y[ƒW‚Í2013”N4ŒŽ‚ÉŒöŠJ‚µC‚»‚ÌŒã‚à‰ü’ù‚ðs‚Á‚Ä‚«‚Ü‚µ‚½‚ªC2020”N12ŒŽ‚©‚çXV—š—ð‚ð‚‚¯‚é‚悤‚É‚µ‚Ü‚µ‚½D ‚È‚¨CŒëŽš’EŽš‚â‚»‚Ì‘¼‚Ì”÷ׂȒù³‚ÍXV—š—ð‚É‹L‚µ‚Ü‚¹‚ñD

2024”N9ŒŽ 2024”N8ŒŽ 2024”N5ŒŽ 2024”N3ŒŽ 2024”N1ŒŽ 2023”N8ŒŽ 2023”N1ŒŽ 2022”N8ŒŽ 2022”N5ŒŽ 2022”N2ŒŽ 2021”N11ŒŽ 2021”N9ŒŽ 2021”N8ŒŽ 2021”N3ŒŽ 2020”N12ŒŽ
‹{‘ã —²•½i“Œ‹ž”_H‘åŠw HŠw•” ’m”\î•ñƒVƒXƒeƒ€HŠw‰Èj

ŽQl•¶Œ£

@“ü–åŒü‚¯C‚¨‚æ‚Ñ‚±‚̃y[ƒW‚ÉŠÖŒW‚·‚é‚à‚Ì‚©‚ç‚¢‚­‚‚©‚ðЉ‚Ü‚·D •¶Œ£ 9 ‚ÍC”ñ¤—pƒ\ƒ‹ƒo[‚̃_ƒEƒ“ƒ[ƒh‚È‚Ç‚àŠÜ‚ßCƒ\ƒ‹ƒo[‚ð‰‚ß‚ÄŽg‚¤Û‚̃KƒCƒh‚ð‹L‚µ‚Ä‚¢‚Ü‚·D LP ƒtƒ@ƒCƒ‹‚ÌŠÈ’P‚ȉðà‚àŠÜ‚ñ‚Å‚¢‚Ü‚·D •¶Œ£ 7 ‚ÍC­‚µŒÃ‚­‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚µ‚½‚ªC®”Å“K‰»‚ɂ‚¢‚Ä‚²‚­ŠÈ’P‚É‚Ü‚Æ‚ß‚Ä‚ ‚è‚Ü‚·D •¶Œ£ 15 ‚ÍC®”Å“K‰»‚Æ‚Í‚Ç‚ñ‚È‚à‚Ì‚©C‹ß”N‚Ìî•ñ‚ªƒXƒ‰ƒCƒhŒ`Ž®‚Å‚í‚©‚èˆÕ‚­‚Ü‚Æ‚ß‚ç‚ê‚Ä‚¢‚Ü‚·D •¶Œ£ 18 ‚àC“¯‚¶‚­®”Å“K‰»‚Ì“ü–å“I‚È’mŽ¯‚ðƒXƒ‰ƒCƒhŒ`Ž®‚Å‚Ü‚Æ‚ß‚Ä‚¢‚Ü‚·D •¶Œ£ 1, 5 ‚ÍC®”Å“K‰»‚É‚¨‚¯‚é’莮‰»‚̃eƒNƒjƒbƒN‚ª“ú–{Œê‚Å‚Ü‚Æ‚Ü‚Á‚Ä‚¢‚Ü‚·D •¶Œ£ 5, 12 ‚ÍC®”Å“K‰»‚ðŽg‚Á‚½’莮‰»‚̗Ⴊ‘½”‹Lq‚³‚ê‚Ä‚¢‚Ü‚·D •¶Œ£ 8 ‚ÍC‚â‚âê–å“I‚É‚È‚è‚Ü‚·‚ªC‹ß”N‚Ì•ªŽ}ŒÀ’è–@‚Ì”­“W‚ɂ‚¢‚Äq‚ׂĂ¢‚Ü‚·D ‰º‹L‚Ìu‚æ‚­‚ ‚鎿–âv‚Å“Á’è‚̃\ƒ‹ƒo[‚ð‘ÎÛ‚É‚µ‚½€‚Å‚ÍCƒ\ƒ‹ƒo[‚ɉž‚¶‚Ä•¶Œ£ 2, 3, 13 ‚©‚ç‚Ìî•ñ‚ðŒ³‚É‚µ‚Ä‚¢‚Ü‚·D •¶Œ£ 4, 6, 10, 11, 14, 16, 17, 19, 20, 21, 22 ‚ÉŠÖ‚µ‚Ä‚ÍCu‚æ‚­‚ ‚鎿–âv‚ÌŒÂX‚Ì€‚©‚çŽQÆ‚µ‚Ä‚¢‚Ü‚·D

  1. “¡]“N–çF ®”Œv‰æ–@‚É‚æ‚é’莮‰»“ü–åD ƒIƒyƒŒ[ƒVƒ‡ƒ“ƒYEƒŠƒT[ƒ`C57-4 (2012)Cpp. 190-197.
    PDF ƒtƒ@ƒCƒ‹ i“¡]涂̂²ŒúˆÓ‚É‚æ‚èC•¶Œ£ƒtƒ@ƒCƒ‹‚ÌŒfÚ‹–‰Â‚𒸂¢‚Ä‚¢‚Ü‚·j
  2. Gurobi Optimization: Gurobi Optimizer Reference Manual Version 10.0. Gurobi Optimization, 2022.
  3. IBM ILOG: IBM ILOG CPLEX Optimization Studio 22.1.0 documentation. IBM ILOG, 2022.
  4. T. Koch, T. Achterberg, E. Andersen, O. Bastert, T. Berthold, R. E. Bixby, E. Danna, G. Gamrath, A. M. Gleixner, S. Heinz, A. Lodi, H. Mittelmann, T. Ralphs, D. Salvagnin, D. E. Steffy, K. Wolter: MIPLIB 2010. Mathematical Programming Computation, 3 (2011), pp. 103-163.
    doi:10.1007/s12532-011-0025-9
  5. ‹v•ÛŠ²—YCJ. P. ƒyƒhƒƒ\C‘º¼³˜aCA. ƒŒƒCƒXF V‚µ‚¢”—Å“K‰» `Python Œ¾Œê‚Æ Gurobi ‚ʼnð‚­`D ‹ß‘ã‰ÈŠwŽÐC2012D ISBN 978-4-7649-0433-0
  6. H. Mittelmann: Benchmarks for Optimization Software.
    https://plato.asu.edu/bench.html
  7. ‹{‘ã—²•½C¼ˆä’mŒÈF ‚±‚±‚Ü‚Å‰ð‚¯‚é®”Œv‰æD ƒVƒXƒeƒ€/§Œä/î•ñC50-9 (2006), pp. 363-368.
    i‰p‘èFR. Miyashiro, T. Matsui: Recent Progress in Integer Programming. Systems, Control and Information, 50-9 (2006), pp. 363-368.j
    doi:10.11509/isciesci.50.9_363@PDF ƒtƒ@ƒCƒ‹
  8. ‹{‘ã—²•½F ‚±‚±‚Ü‚Å‰ð‚¯‚é®”Œv‰æ\‹ß”N‚Ì”­“W\D ‘æ20‰ñRAMPƒVƒ“ƒ|ƒWƒEƒ€˜_•¶W (2008)C“ú–{ƒIƒyƒŒ[ƒVƒ‡ƒ“ƒYEƒŠƒT[ƒ`Šw‰ïCpp. 1-21.
  9. ‹{‘ã—²•½F ®”Œv‰æƒ\ƒ‹ƒo[“ü–åD ƒIƒyƒŒ[ƒVƒ‡ƒ“ƒYEƒŠƒT[ƒ`C57-4 (2012)Cpp. 183-189.
    PDF ƒtƒ@ƒCƒ‹
  10. NEOS Server: NEOS Server for Optimization. University of Wisconsin-Madison, 2024.
    https://www.neos-server.org/neos/
  11. E. Rothberg: An Evolutionary Algorithm for Polishing Mixed Integer Programming Solutions. INFORMS Journal on Computing, 19 (2007), pp. 534-541.
    doi:10.1287/ijoc.1060.0189
  12. H. P. Williams: Model Building in Mathematical Programming (5th edition). Wiley, 2013. ISBN 978-1-118-44333-0
    i‘æ 3 ”Å‚Ì–ó‘‚ÍwH. P. ƒEƒCƒŠƒAƒ€ƒX’˜C¬—щpŽO–óF ”—Œv‰æƒ‚ƒfƒ‹‚Ì쬖@DŽY‹Æ}‘C1995CISBN 978-4-782-84601-8x‚Å‚·j
  13. Zuse Institute Berlin: SCIP (Version 9.1.1). Zuse Institute Berlin, 2024.
    https://www.scipopt.org/@ https://www.scipopt.org/doc/html/
  14. H. D. Sherali, J. C. Smith: An Improved Linearization Strategy for Zero-one Quadratic Programming Problems. Optimization Letters, 1 (2007), pp. 33-47.
    doi:10.1007/s11590-006-0019-0
  15. “¡]“N–çF ‚Í‚¶‚߂悤®”Œv‰æ–@D ƒ`ƒ…[ƒgƒŠƒAƒ‹u‰‰C“ú–{ƒIƒyƒŒ[ƒVƒ‡ƒ“ƒYEƒŠƒT[ƒ`Šw‰ï 2014”Nt‹GŒ¤‹†”­•\‰ïC2014D
    PDF ƒtƒ@ƒCƒ‹ i“¡]涂̂²ŒúˆÓ‚É‚æ‚èCƒXƒ‰ƒCƒh‚ÌŒfÚ‹–‰Â‚𒸂¢‚Ä‚¢‚Ü‚·j
  16. E. Balas: Disjunctive Programming. 50 Years of Integer Programming 1958-2008, Chapter 10, pp. 283-340, Springer, 2010.
    doi:10.1007/978-3-540-68279-0_10
  17. ‚–ì—SˆêF ZIMPLŒ¾Œê‚ÆSCIP‚É‚æ‚é”—Å“K‰»D êCƒlƒbƒgƒ[ƒN•ƒCƒ“ƒtƒHƒ[ƒVƒ‡ƒ“C 24 (2016)Cpp. 9-14.
    doi:10.34360/00005129
  18. ‹{‘ã—²•½F ®”Å“K‰»ƒAƒvƒ[ƒ`‚Ö‚Ì“ü–åD ƒ`ƒ…[ƒgƒŠƒAƒ‹u‰‰C“dŽqî•ñ’ÊMŠw‰ï 2019”N‘‡‘å‰ïC2019D
    PDF ƒtƒ@ƒCƒ‹
  19. A. Gleixner, G. Hendel, G. Gamrath, T. Achterberg, M. Bastubbe, T. Berthold, P. Christophel, K. Jarck, T. Koch, J. Linderoth, M. Lübbecke, H. D. Mittelmann, D. Ozyurt, T. K. Ralphs, D. Salvagnin, Y. Shinano: MIPLIB 2017: Data-Driven Compilation of the 6th Mixed-Integer Programming Library. Mathematical Programming Computation, 13 (2021), pp. 443-490.
    doi:10.1007/s12532-020-00194-3
  20. O. Günlük, J. Linderoth: Perspective Reformulations of Mixed Integer Nonlinear Programs with Indicator Variables. Mathematical Programming, Series B, 124 (2010), pp. 183-205.
    doi:10.1007/s10107-010-0360-z
  21. E. Balas: Disjunctive Programming. Springer, 2018. ISBN 978-3-030-00147-6
    doi:10.1007/978-3-030-00148-3
  22. MOSEK: MOSEK Modeling Cookbook 3.3.0.
    https://docs.mosek.com/modeling-cookbook/index.html
  23. “c’†‘å‹BF —ñ‹“‚Ì•û–@‚É‚æ‚émarket split–â‘è‚̉ð–@D “ú–{ƒIƒyƒŒ[ƒVƒ‡ƒ“ƒYEƒŠƒT[ƒ`Šw‰ï 2024”Nt‹GŒ¤‹†”­•\‰ï ƒAƒuƒXƒgƒ‰ƒNƒgWCpp. 230-231D

‚æ‚­‚ ‚鎿–â

‘O‘‚«

@®”Å“K‰»ƒ\ƒ‹ƒo[‚ÉŠÖ‚·‚éC‚æ‚­‚ ‚鎿–â‚Æ‚»‚ê‚ɂ‚¢‚Ä‚Ìi‚Æ‚è‚ ‚¦‚¸‚Ìj‘Έ•û–@‚ð‘‚«‚Ü‚µ‚½D ‚±‚±‚É‘‚©‚ê‚Ä‚¢‚é•û–@‚âƒeƒNƒjƒbƒN‚ÌŒø‰Ê‚͈µ‚¤–â‘è‚Ì«Ž¿‚É‘å‚«‚­ˆË‘¶‚·‚邽‚ßC–œ”\‚Ìô‚Í–³‚¢‚±‚Æ‚É‚²—¯ˆÓ‚­‚¾‚³‚¢D ‚È‚¨C‚ ‚éƒ\ƒ‹ƒo[ã‚Å“Á’è‚Ì‹@”\‚ðЉ‚Ä‚¢‚éê‡C‹LÚ‚µ‚Ä‚¢‚È‚¢ƒ\ƒ‹ƒo[‚É‚»‚Ì‹@”\‚ª–³‚¢‚±‚Æ‚ðˆÓ–¡‚·‚é‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñD î•ñ‚ª“Á’è‚̃\ƒ‹ƒo[‚ɕ΂Á‚Ä‚¢‚é‚Ì‚Í’P‚É–{ƒy[ƒW쬎҂̃\ƒ‹ƒo[Žg—pŒoŒ±‚Ì·‚É‚æ‚é‚à‚Ì‚ÅC‘¼‚É‚à‘½”‚̃\ƒ‹ƒo[‚ª‚ ‚è‚Ü‚·D ŒÂX‚̃\ƒ‹ƒo[‚ÉŠÖ‚·‚é‹Lڂɂ‚¢‚Ä‚Í [CPLEX] [Gurobi] [SCIP] ‚Æ‚¢‚¤ƒ}[ƒN‚ð‚‚¯‚Ü‚µ‚½D [CPLEX] ‚Í IBM ILOG CPLEX 22.1i ŽQl•¶Œ£ 3 jC[Gurobi] ‚Í Gurobi Optimizer 10.0i ŽQl•¶Œ£ 2 jC[SCIP] ‚Í SCIP 9.1.1i ŽQl•¶Œ£ 13 j‚É‚¨‚¯‚éî•ñ‚Å‚·D

@‰º‹L‚Ìu‚æ‚­‚ ‚鎿–âv‚Å‚ÍCŠî–{“I‚Éu‰ð‚«‚½‚¢–â‘è‚ð LP ƒtƒ@ƒCƒ‹‚Æ‚µ‚Ä쬂µC‚»‚ê‚ðŠeƒ\ƒ‹ƒo[‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“ƒCƒ“ƒ^[ƒtƒF[ƒXiCLIj‚É“ü—Í‚µ‚ÄŽg‚¤•û–@v‚ð”O“ª‚É‚¨‚¢‚Ä‚¢‚Ü‚·i[CPLEX]: Interactive Optimizer, [Gurobi]: Interactive Shell, [SCIP]: ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“jD LP ƒtƒ@ƒCƒ‹‚Æ CLI ‚Ì‘g‡‚¹‚̓\ƒ‹ƒo[‚ðŽg‚¤Å‚à’Pƒ‚È•û–@‚Å‚·‚ªC‚±‚ꂾ‚¯‚Å‚à‚©‚È‚è‚Ì‚±‚Æ‚ª‚Å‚«‚Ü‚·D ‚½‚¾‚µC‘¼‚̃vƒƒOƒ‰ƒ€‚Æ‘g‚݇‚킹‚½“®“I‚Èì‹Æ‚âC—ñ¶¬–@‚È‚Ç‚É‘ã•\‚³‚ê‚镪Ž}ŒÀ’è–@‚̧Œä‚ðs‚¤ê‡‚ÍCŠeƒ\ƒ‹ƒo[‚Ì API ‚ðŽg‚¤‚±‚Æ‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·D ‚±‚Ì‚ ‚½‚è‚ɂ‚¢‚Ä‚ÍCu‹‘å‚È LP ƒtƒ@ƒCƒ‹‚ð‚Ç‚¤‚â‚Á‚Ķ¬‚·‚ê‚΂悢‚©v‚àŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D

@‚È‚¨C–{ƒy[ƒW‚É‹LÚ‚µ‚½ƒpƒ‰ƒ[ƒ^–¼‚È‚Ç‚ÍŠeƒ\ƒ‹ƒo[‚Ì CLI ‚É€‹’‚µ‚Ä‚¢‚é‚Ì‚ÅCAPI ‚ð‰î‚µ‚ÄŽg‚¤‚È‚Ç‘¼‚Ì•û–@‚ÌŽž‚É‚Í‹LÚ‚µ‚½ƒpƒ‰ƒ[ƒ^–¼‚Ń}ƒjƒ…ƒAƒ‹‚ðŒŸõ‚µ‚Ä‚­‚¾‚³‚¢D ‚Ü‚½Cƒ\ƒ‹ƒo[‚̃o[ƒWƒ‡ƒ“ƒAƒbƒv‚É‚æ‚Á‚ăpƒ‰ƒ[ƒ^–¼‚È‚Ç‚ª‚µ‚΂µ‚ΕÏX‚É‚È‚è‚Ü‚·‚Ì‚ÅC‚²’ˆÓ‚­‚¾‚³‚¢D

–ÚŽŸ

  1. ƒ\ƒ‹ƒo[‚Ì“üŽèC–â‘è‚Ì‹LqCŠî–{“I‚ȃ\ƒ‹ƒo[‚Ì‘€ì
    1. ƒ\ƒ‹ƒo[‚ð“üŽè‚µ‚½‚¢
    2. –â‘è‚ðƒ\ƒ‹ƒo[‚É“ü—Í‚·‚邽‚ß‚É‚Í
    3. ƒ\ƒ‹ƒo[‚¨‚æ‚Ñ LP ƒtƒ@ƒCƒ‹‚Í€”õ‚ª‚Å‚«‚½D¡‚·‚®‰ð‚«‚½‚¢
    4. ŒvŽZ‚ð“r’†‚Å’âŽ~‚µ‚½‚¢
    5. –â‘è‚Ì“Ç‚Ýž‚ÝŽž‚É’ˆÓ‚·‚邱‚Æ
    6. ƒ\ƒ‹ƒo[‚ւ̃Rƒ}ƒ“ƒh“ü—͂ɂ‚¢‚Ä
    7. ƒ\ƒ‹ƒo[‚̃wƒ‹ƒvƒRƒ}ƒ“ƒh‚ð•\Ž¦‚µ‚½‚¢
  2. –â‘è‚ð‰ð‚­Û‚ɃGƒ‰[‚ªo‚é
    1. §–ñŽ®‚ª’·‚·‚¬‚Ĉês‚É“ü‚ç‚È‚¢D ‚Ü‚½‚Í general, binary 錾‚ÌŒã‚Ɉês‚ÉŽû‚Ü‚ç‚È‚¢
    2. LP ƒtƒ@ƒCƒ‹‚Ì“Ç‚Ýž‚݂ŃGƒ‰[‚ªo‚é
    3. §–ñŽ® 5 x + y = 7 ‚ð•\‚·‚Ì‚ÉCLP ƒtƒ@ƒCƒ‹‚Å a x + y = 7 ‚¨‚æ‚Ñ a = 5 (‚Ü‚½‚Í a * x + y = 7 ‚¨‚æ‚Ñ a = 5) ‚Æ‘‚¢‚½‚çƒGƒ‰[‚É‚È‚Á‚½
    4. •ªŽ}ŒÀ’è–@‚Ì“r’†‚Ńƒ‚ƒŠ‚ª‘«‚è‚È‚­‚È‚é
    5. ”’l”j’]‚ð‹N‚±‚µ‚ăGƒ‰[‚É‚È‚é
    6. –Ú“IŠÖ”‚Ü‚½‚ͧ–ñŽ®‚É“ñŽŸ€‚ð‘‚¢‚½‚ªƒGƒ‰[‚É‚È‚Á‚½
    7. [CPLEX] ILOG CPLEX Optimization Studio ‚ªŽÀs‚Å‚«‚È‚¢
  3. ‰ð‚¢‚Ä‚Ý‚½‚ªŒ‹‰Ê‚ª‚¨‚©‚µ‚¢
    1. ‰ð‚É’l‚ª•\Ž¦‚³‚ê‚È‚¢•Ï”‚ª‚ ‚é
    2. x < 7 ‚Æ‚¢‚¤§–ñŽ®‚ð“ü‚ꂽ‚Ì‚ÉCŒvŽZ‚·‚é‚Æ x ‚ª 7 ‚̉ð‚ªo‚é
    3. LP ƒtƒ@ƒCƒ‹‚ðì‚Á‚½‚çCŸŽè‚É”ñ•‰•Ï”‚É‚È‚Á‚Ä‚¢‚éDƒ}ƒCƒiƒX‚Ì’l‚ðŽæ‚肤‚é•Ï”iŽ©—R•Ï”j‚ðì‚肽‚¢
    4. ‰ð‚¯‚é‚É‚Í‰ð‚¯‚½‚ªCˆÓ}‚µ‚½–â‘è‚Æ‚µ‚Ä“Ç‚Ýž‚Ü‚ê‚Ä‚¢‚È‚¢‚悤‚¾
    5. Ž©•ª‚Å LP ƒtƒ@ƒCƒ‹‚𶬂µ‚½‚ªC‹–—e‰ð‚ª‚ ‚é‚Í‚¸‚Ì–â‘è‚È‚Ì‚É•s”\ (infeasible) ‚É‚È‚é
    6. •Ê‚̃\ƒ‹ƒo[‚Å‰ð‚­‚ÆÅ“K‰ð‚ªˆá‚¤
    7. ®”•Ï”‚È‚Ì‚ÉC0.000001 ‚Ü‚½‚Í 0.999999 ‚̂悤‚ȉð‚ªo‚é
    8. •ªŽ}ŒÀ’è–@‚ði‚ß‚½‚çCÅ“K«ƒMƒƒƒbƒv‚ª‘‚¦‚½
    9. [CPLEX]@ILOG CPLEX Optimization Studio ‚Å LP ƒtƒ@ƒCƒ‹‚𶬂µ‚½‚ªC“YŽš‚ª‚¸‚ê‚é
  4. LP ƒtƒ@ƒCƒ‹‚ɂ‚¢‚Ä
    1. LP ƒtƒ@ƒCƒ‹‚ÌÚׂȕ¶–@‚ª’m‚肽‚¢
    2. –Ú“IŠÖ”‚ª–³‚¢–â‘è‚ðˆµ‚¢‚½‚¢
    3. LP ƒtƒ@ƒCƒ‹‚ŃVƒOƒ}‹L†‚â”z—ñ‚É‘Š“–‚·‚é‚à‚Ì‚ð—p‚¢‚½‚¢
    4. ‹‘å‚È LP ƒtƒ@ƒCƒ‹‚ð‚Ç‚¤‚â‚Á‚Ķ¬‚·‚ê‚΂悢‚©
    5. LP ƒtƒ@ƒCƒ‹‚ðŽ©“®“I‚É®Œ`‚µ‚½‚¢
    6. MPS ƒtƒ@ƒCƒ‹‚Ƃ͉½‚©DMPS ƒtƒ@ƒCƒ‹‚Æ LP ƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚µ‚½‚¢
    7. LP ƒtƒ@ƒCƒ‹‚ð MPS ƒtƒ@ƒCƒ‹‚É•ÏŠ·‚µ‚½‚çC–Ú“IŠÖ”’l‚ªƒ}ƒCƒiƒX 1 ”{‚É‚È‚Á‚½
    8. LP ƒtƒ@ƒCƒ‹‚Å“ñŽŸ‚Ì–Ú“IŠÖ”‚ð•\‚µ‚½‚¢
    9. LP ƒtƒ@ƒCƒ‹‚Å“ñŽŸ‚̧–ñŽ®‚ð•\‚µ‚½‚¢
    10. LP ƒtƒ@ƒCƒ‹‚Å–Ú“IŠÖ”‚ɒ蔀‚ðŠÜ‚ß‚½‚¢
    11. LP ƒtƒ@ƒCƒ‹‚É‘‚­•Ï”‚⧖ñŽ®‚̇”Ô‚ð•Ï‚¦‚½‚çŒvŽZŽžŠÔ‚ª•Ï‚í‚Á‚½
    12. Lazy Constraints ‚ðŽg‚¢‚½‚¢
  5. ƒ\ƒ‹ƒo[‚Ì’²®‚ÆŒvŽZ‘¬“x‚ɂ‚¢‚Ä
    1. Ŭ‰»–â‘è‚Å‚È‚©‚È‚©‰ºŠE‚ªã‚ª‚ç‚È‚¢Dő剻–â‘è‚Å‚È‚©‚È‚©ãŠE‚ª‰º‚ª‚ç‚È‚¢
    2. Å“K‰ð‚É‚±‚¾‚í‚ç‚È‚¢‚Ì‚ÅC‚È‚é‚ׂ­‚‘¬‚ÉŽ¿‚Ì—Ç‚¢‰ð‚ª‚Ù‚µ‚¢
    3. ŒvŽZŽžŠÔ‚ð§ŒÀ‚µ‚ÄC•ªŽ}ŒÀ’è–@‚ðŽ©“®“I‚É’âŽ~‚·‚é‚悤‚É‚µ‚½‚¢
    4. ’è‚ß‚½è‡’l‚Æ“¯‚¶‚©‚æ‚è—Ç‚¢–Ú“IŠÖ”’l‚Ì‹–—e‰ð‚ªo‚½‚çC•ªŽ}ŒÀ’è–@‚ðŽ©“®“I‚É’âŽ~‚·‚é‚悤‚É‚µ‚½‚¢
    5. ‹–—e‰ð‚ð—^‚¦‚½ó‘Ô‚Å•ªŽ}ŒÀ’è–@‚ðƒXƒ^[ƒg‚µ‚½‚¢
    6. ƒ\ƒ‹ƒo[‚ðƒqƒ…[ƒŠƒXƒeƒBƒNƒX‚Æ‚µ‚ÄŽg‚¢‚½‚¢
    7. •ªŽ}‡˜‚ðŽè“®‚ÅŽw’肵‚½‚¢
    8. •À—ñ•ªŽ}ŒÀ’è–@‚ŃXƒŒƒbƒh”‚ðŽw’肵‚½‚¢
    9. •À—ñ•ªŽ}ŒÀ’è–@‚É‚¨‚¢‚ÄCƒXƒŒƒbƒh”‚ð‘‚₵‚½‚ç’x‚­‚È‚Á‚Ä‚µ‚Ü‚Á‚½
    10. ƒ\ƒ‹ƒo[‚̃IƒvƒVƒ‡ƒ“ A ‚Ì‚Ý‚ðƒIƒ“‚É‚µ‚½‚çŒvŽZ‚ª‘¬‚­‚È‚èCƒIƒvƒVƒ‡ƒ“ B ‚Ì‚Ý‚ðƒIƒ“‚É‚µ‚½‚çŒvŽZ‚ª‘¬‚­‚È‚Á‚½‚Ì‚ÅCƒIƒvƒVƒ‡ƒ“ A ‚Æ B ‚𗼕ûƒIƒ“‚É‚µ‚½‚Æ‚±‚ëŒvŽZ‚ª’x‚­‚È‚Á‚Ä‚µ‚Ü‚Á‚½
    11. ŒvŽZ‚ðˆê“x’†’f‚µ‚Ä‚©‚çÄŠJ‚µ‚½‚çC’†’f‚µ‚È‚¢ê‡‚ÆŒvŽZ‰ß’ö‚ªˆÙ‚È‚Á‚½
    12. ŒvŽZŽžŠÔ‚ð§ŒÀ‚µ‚½‚çC§ŒÀ‚µ‚È‚¢ê‡‚ÆŒvŽZ‰ß’ö‚ªˆÙ‚È‚Á‚½
    13. üŒ`Å“K‰»–â‘è‚ð•¡”‰ñ‰ð‚¢‚Ä‚Ý‚½‚çCÅ“K‰ð‚ªˆÙ‚È‚Á‚½
  6. ƒ\ƒ‹ƒo[‚ð‚à‚Á‚Æ•Ö—˜‚ÉŽg‚¢‚½‚¢
    1. ƒ\ƒ‹ƒo[‚ª‘Oˆ—‚ð‚µ‚½ LP ƒtƒ@ƒCƒ‹‚ðŒ©‚½‚¢
    2. ‚ǂ̂悤‚É•ªŽ}ŒÀ’è–@‚ªi‚ñ‚Å‚¢‚é‚©‚ðÚׂɊώ@‚µ‚½‚¢
    3. ®”•Ï”‚Ì’l‚ªˆÙ‚È‚éÅ“K‰ð‚̌”‚𔂦‚½‚¢
    4. ƒƒOƒtƒ@ƒCƒ‹‚Ìo—Íæ‚ð•ÏX‚µ‚½‚¢
    5. •¡”‚Ì–â‘è‚ðŽ©“®“I‚É‰ð‚©‚¹‚½‚¢
    6. •¡”‚Ì–â‘èŠÔ‚Åî•ñ‚ð‚â‚è‚Ƃ肵‚½‚¢D‘¼‚̃vƒƒOƒ‰ƒ€‚ƘAŒg‚µ‚½‚¢
    7. ŒvŽZ‚ð’†’f‚·‚邱‚Æ‚È‚­CŽb’è‰ð‚»‚Ì‚à‚Ì‚ðŽ©“®“I‚É‹L˜^‚µ‚½‚¢
    8. •ÏX‚µ‚½ƒpƒ‰ƒ[ƒ^Ý’è‚ð•\Ž¦E•Û‘¶E•œŒ³‚µ‚½‚¢
    9. –â‘è‚Ì“Œvî•ñ‚ªŒ©‚½‚¢
    10. —^‚¦‚½®”Å“K‰»–â‘è‚̘A‘±ŠÉ˜a–â‘è‚𓾂½‚¢
    11. —^‚¦‚½üŒ`Å“K‰»–â‘è‚Ì‘o‘Ζâ‘è‚𓾂½‚¢
    12. [CPLEX] Žb’è‰ð‚ª“¾‚ç‚ꂽ‚Æ‚«‚ÌŒo‰ßŽžŠÔ‚ðŽ©“®“I‚É‹L˜^‚µ‚½‚¢
    13. [CPLEX] Benders •ª‰ð‚ðs‚¢‚½‚¢
  7. ’莮‰»‚ɂ‚¢‚Ä
    1. ŽÀÛ‚ÌŒ»ê‚Å‚ÍŽg‚¦‚È‚¢‚悤‚È“š‚¦‚ªo‚Ä‚­‚é
    2. üŒ`Ž®‚Å‘‚¯‚È‚¢‚ÆŽv‚í‚ê‚駖ñðŒ‚Ü‚½‚Í–Ú“IŠÖ”‚ª‚ ‚é
    3. 0-1 •Ï” x, y ‚ɑ΂µ‚ÄCuz = x * yv‚ɑΉž‚·‚é 0-1 •Ï” z ‚ðŽg‚¢‚½‚¢
    4. §–ñŽ®‚𑼂̕ϔ‚ɉž‚¶‚ăIƒ“EƒIƒt‚µ‚½‚¢Du‚à‚µ~~‚È‚ç‚΢¢v‚Æ‚¢‚¤‚悤‚ȧ–ñŽ®‚ª‘‚«‚½‚¢
    5. •Ï”‚̌”‚ª­‚È‚¢–â‘è‚È‚Ì‚É‰ð‚¯‚È‚¢D•Ï”‚̌”‚ª­‚È‚¢’莮‰»‚É•Ï‚¦‚½‚ç’x‚­‚È‚Á‚½
    6. üŒ`‚â“ñŽŸ‚Å‚È‚¢–Ú“IŠÖ”‚ðˆµ‚¢‚½‚¢
  8. ‚»‚Ì‘¼‚Ìî•ñ
    1. ®”Å“K‰»–â‘è‚̃xƒ“ƒ`ƒ}[ƒN–â‘èW‚ª’m‚肽‚¢
    2. ¤—pƒ\ƒ‹ƒo[‚Æ”ñ¤—pƒ\ƒ‹ƒo[‚ÍŒvŽZŽžŠÔ‚ª‚Ç‚Ì’ö“xˆÙ‚È‚é‚Ì‚©
    3. ‚ǂ̤—pƒ\ƒ‹ƒo[‚ª‘¬‚¢‚Ì‚©
    4. ¤—pƒ\ƒ‹ƒo[‚ðŽŽ‚µ‚Ä‚Ý‚½‚¢

  1. ƒ\ƒ‹ƒo[‚Ì“üŽèC–â‘è‚Ì‹LqCŠî–{“I‚ȃ\ƒ‹ƒo[‚Ì‘€ì

@‚±‚±‚Å‚ÍC”ñ¤—pƒ\ƒ‹ƒo[‚Ì“üŽè‚©‚çCƒ\ƒ‹ƒo[‚ÌŠÈ’P‚È‘€ì‚Ü‚Å‚ðЉ‚Ü‚·D ŽQl•¶Œ£ 9 ‚É‚àCˆê’Ê‚è‚Ì—¬‚ꂪ‚Ü‚Æ‚ß‚Ä‘‚¢‚Ä‚ ‚è‚Ü‚·‚Ì‚ÅŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢D
  1. ƒ\ƒ‹ƒo[‚ð“üŽè‚µ‚½‚¢

    @‚Ü‚¸‚ÍC”ñ¤—pƒ\ƒ‹ƒo[ SCIP ‚ðŽŽ‚µ‚Ä‚Ý‚Ü‚µ‚傤D ‘¼‚É‚àŠeŽí‚̃\ƒ‹ƒo[‚Í‚ ‚è‚Ü‚·‚ªC‚Æ‚è‚ ‚¦‚¸‚Í SCIP ‚©‚çƒXƒ^[ƒg‚·‚é‚Ì‚ª‚¨ŽèŒy‚©‚ÆŽv‚í‚ê‚Ü‚·D SCIP ‚Í 2023 ”N––‚ÌŽž“_‚ÅC”ñ¤—p‚Å‚ÍÅ‚à‚‘¬‚ȃ\ƒ‹ƒo[‚̈ê‚‚ł·i¤—pƒ\ƒ‹ƒo[‚Å‚Í SCIP ‚æ‚è‚‘¬‚È‚à‚Ì‚à‘¶Ý‚µ‚Ü‚·jD ‚³‚ç‚ÉC2022”N 12 ŒŽ‚ÉŒöŠJ‚³‚ꂽ SCIP 8.0.3 ˆÈ~‚©‚ç‚Í Apache 2.0 ƒ‰ƒCƒZƒ“ƒX ‚ª“K—p‚³‚ê‚Ä‚¢‚Ü‚·D ‚±‚ê‚É‚æ‚èC‰c—˜—p“r‚É‚¨‚¢‚Ä‚àƒ‰ƒCƒZƒ“ƒX‚͈͓̔à‚Å–³ž—˜—p‚ª‰Â”\‚É‚È‚Á‚Ä‚¢‚Ü‚·D
    @SCIPi ŽQl•¶Œ£ 13 j‚̃_ƒEƒ“ƒ[ƒhƒy[ƒWi https://www.scipopt.org/ j‚©‚çCŽèŽ‚¿‚ÌŒvŽZ‹@ŠÂ‹«‚É‚ ‚Á‚½ƒtƒ@ƒCƒ‹‚ðƒ_ƒEƒ“ƒ[ƒh‚µ‚Ü‚·D ‚È‚¨CApache 2.0 ƒ‰ƒCƒZƒ“ƒX‚ª“K—p‚³‚ê‚Ä‚¢‚é‚Ì‚Í SCIP 8.0.3 ˆÈ~‚Å‚·‚Ì‚Å‚²’ˆÓ‚­‚¾‚³‚¢D
    @ƒAƒJƒfƒ~ƒbƒNŠÂ‹«‚ÉŠ‘®‚µ‚Ä‚¢‚é•û‚ÍCNEOS ƒT[ƒo[‚É‚¨‚¯‚餗pƒ\ƒ‹ƒo[‚Ì—˜—p‚à‰Â”\‚Å‚·D u¤—pƒ\ƒ‹ƒo[‚ðŽŽ‚µ‚Ä‚Ý‚½‚¢v‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
  2. –â‘è‚ðƒ\ƒ‹ƒo[‚É“ü—Í‚·‚邽‚ß‚É‚Í

    @‚¢‚ë‚¢‚ë‚È•û–@‚ª‚ ‚è‚Ü‚·‚ªCʼn‚Í LP ƒtƒ@ƒCƒ‹‚ð—˜—p‚·‚é‚Ì‚ªŠÈ’P‚¾‚ÆŽv‚í‚ê‚Ü‚·D LP ƒtƒ@ƒCƒ‹‚Æ‚ÍC”—Å“K‰»–â‘è‚ð•\‚·ƒtƒ@ƒCƒ‹Œ`Ž®‚̈êŽí‚ÅCŠg’£Žq‚ª .lp ‚̃eƒLƒXƒgƒtƒ@ƒCƒ‹‚Å‚·D ”Ž®‚ð‚Ù‚Ú‚»‚̂܂܃eƒLƒXƒg‚É‚µ‚½Œ`‚É‚È‚Á‚Ä‚¢‚Ü‚·D LP ƒtƒ@ƒCƒ‹‚ÍC–{ƒy[ƒW‚Å“Á‚ÉÚ‚µ‚­Ð‰î‚µ‚Ä‚ ‚é CPLEXCGurobiCSCIP ‚Ì‚¢‚¸‚ê‚̃\ƒ‹ƒo[‚É‚¨‚¢‚Ä‚àŽg—p‰Â”\‚ÅC‘¼‚É‚à‘Ήž‚µ‚Ä‚¢‚éƒ\ƒ‹ƒo[‚ª‚¢‚­‚‚©‘¶Ý‚µ‚Ü‚·D LP ƒtƒ@ƒCƒ‹‚Ì—á‚ðˆÈ‰º‚ÉÚ‚¹‚Ü‚·D ŠÈ’P‚È•¶–@‚ɂ‚¢‚Ä‚ÍCŽQl•¶Œ£ 9 ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
    \ LP ƒtƒ@ƒCƒ‹‚̃Tƒ“ƒvƒ‹
    \ ƒRƒƒ“ƒg‚Í \ ‚ÌŒã‚낪ˆêsƒRƒƒ“ƒg‚É‚È‚è‚Ü‚·
    
    minimize                      \ minimize ‚Í—\–ñŒêDő剻‚Ìê‡‚Í maximize
    - 3 x + 4.5 y - 2 z(1) + f    \ –Ú“IŠÖ”i•¡”s‚É‚È‚Á‚Ä‚à‚æ‚¢j
    
    subject to                    \ subject to ‚Í—\–ñŒêD‚±‚±‚©‚çŒã‚ë‚ɧ–ñŽ®
    c1: - g(1,1) + g(1,2) <= 5    \ §–ñŽ®‚É‚Í擪‚É–¼‘O‚ð‚‚¯‚ç‚ê‚éi–¼‘O{ƒRƒƒ“j
    c2: 3 g(1,1) - 7 g(1,2)       \ ‡‚É c1, c2, ... ‚ƔԆ‚ðU‚Á‚Ä‚¨‚­‚Æ‚æ‚¢
        + z(2) >= -10             \ “¯—Þ€‚͈ê‚‚ɂ܂ƂßC•Ï”€‚Ͷ•Ó‚ÉC’蔀‚͉E•Ó‚É’u‚­
    c3: 2 f - g(1,1)              \ §–ñŽ®‚Í•¡”s‚É‚Ü‚½‚ª‚Á‚Ä‚à‚æ‚¢
        = 6                       \ ‚½‚¾‚µ”äŠr‰‰ŽZŽq‚ƒ蔀‚Í“¯‚¶s‚É‘‚­
    c4: + 1 x + 0.5 y = -4.6      \ 擪‚Ì + ‚âŒW”‚Ì 1 ‚Í‚ ‚Á‚Ä‚à–³‚­‚Ä‚à‚æ‚¢
                                  
    
    bounds                        \ bounds ‚Í—\–ñŒêD‚±‚±‚©‚玩—R•Ï”‚Ì錾‚È‚Ç‚ðs‚¤
    x free                        \ ˆês‚Ɉê‚‚̕ϔC‚»‚ê‚É‘±‚¯‚Ä free ‚Æ‚·‚é‚ÆC
    g(1,1) free                   \ ‚»‚Ì•Ï”‚ÍŽ©—R•Ï”‚É‚È‚é
                                  \ free 錾‚ð‚µ‚È‚¢•Ï”‚Í”ñ•‰ðŒ‚ª‰Û‚³‚ê‚é
    
    general                       \ general ‚Í—\–ñŒêD®”•Ï”‚É‚·‚é•Ï”‚ð‘‚­
    g(1,1) g(1,2)                 \ free 錾‚ð‚µ‚Ä‚¢‚È‚¯‚ê‚ÎŽ©“®“I‚É”ñ•‰ðŒ‚ª‚‚­‚±‚Æ‚É’ˆÓ
                                  \ ‚±‚Ìê‡Cg(1,2) ‚Í”ñ•‰‚Ì®”•Ï”
    
    binary                        \ binary ‚Í—\–ñŒêD0-1 •Ï”‚É‚·‚é•Ï”‚ð‘‚­
    z(1)                          \ ‚±‚Ìê‡Cz(1) ‚Æ z(2) ‚Í 0-1 •Ï”
    z(2)                          \ general, binary 錾‚Æ‚à•¡”s‚É“n‚Á‚Ä\‚í‚È‚¢
    
    end                           \ end ‚Í—\–ñŒêDƒtƒ@ƒCƒ‹‚ÌÅŒã‚É‘‚­
    
  3. ƒ\ƒ‹ƒo[‚¨‚æ‚Ñ LP ƒtƒ@ƒCƒ‹‚Í€”õ‚ª‚Å‚«‚½D¡‚·‚®‰ð‚«‚½‚¢

    @LP ƒtƒ@ƒCƒ‹‚Ì–¼‘O‚ð‚±‚±‚ł͉¼‚É test1.lp ‚Æ‚µ‚Ü‚·D ˆÈ‰º‚̃Rƒ}ƒ“ƒh‚ÅC–â‘è‚Ì“Ç‚Ýž‚ÝCŒvŽZ‚ÌŽÀsCÅ“K‰ð‚Ì•\Ž¦‚ª‚Å‚«‚Ü‚·D
  4. ŒvŽZ‚ð“r’†‚Å’âŽ~‚µ‚½‚¢

    @“‚¢®”Å“K‰»–â‘è‚ðÅŒã‚Ü‚Å‰ð‚«‚«‚ê‚È‚¢‚Æ‚«‚ÉCŒvŽZ‚ðŽè“®‚Å’âŽ~‚·‚é•û–@‚Å‚·D ‚ ‚ç‚©‚¶‚ߌvŽZŽžŠÔ‚ð§ŒÀ‚·‚éꇂÍCuŒvŽZŽžŠÔ‚ð§ŒÀ‚µ‚ÄC•ªŽ}ŒÀ’è–@‚ðŽ©“®“I‚É’âŽ~‚·‚é‚悤‚É‚µ‚½‚¢v‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
  5. –â‘è‚Ì“Ç‚Ýž‚ÝŽž‚É’ˆÓ‚·‚邱‚Æ

    @LP ƒtƒ@ƒCƒ‹‚ð“Ç‚Ýž‚ÞÛ‚Ì’ˆÓ‚Å‚·D
  6. ƒ\ƒ‹ƒo[‚ւ̃Rƒ}ƒ“ƒh“ü—͂ɂ‚¢‚Ä

    @ƒRƒ}ƒ“ƒh“ü—Í‚ÌÈ—ª•û–@‚ɂ‚¢‚Ä‚Å‚·D
  7. ƒ\ƒ‹ƒo[‚̃wƒ‹ƒvƒRƒ}ƒ“ƒh‚ð•\Ž¦‚µ‚½‚¢

    @Šeƒ\ƒ‹ƒo[‚ÌÚׂ̓}ƒjƒ…ƒAƒ‹‚É‹LÚ‚³‚ê‚Ä‚¢‚Ü‚·‚ªCƒ\ƒ‹ƒo[ã‚Å‚àŠÈˆÕƒwƒ‹ƒv‚ðŽQÆ‚Å‚«‚Ü‚·D
–ÚŽŸ‚Ö–ß‚é
  1. –â‘è‚ð‰ð‚­Û‚ɃGƒ‰[‚ªo‚é

@ƒ\ƒ‹ƒo[‚Å–â‘è‚ð‰ð‚­Û‚ɃGƒ‰[‚ªo‚éꇂ̑Έ•û–@‚Å‚·D
  1. §–ñŽ®‚ª’·‚·‚¬‚Ĉês‚É“ü‚ç‚È‚¢D ‚Ü‚½‚Í general, binary 錾‚ÌŒã‚Ɉês‚ÉŽû‚Ü‚ç‚È‚¢

    @ˆês‚ÉŽû‚ß‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñD LP ƒtƒ@ƒCƒ‹‚̈ês‚Ì•¶Žš”‚ª‚ ‚Ü‚è‚É‘½‚·‚¬‚é‚ÆCƒ\ƒ‹ƒo[‚É‚æ‚Á‚Ä‚ÍØ‚èŽÌ‚Ä‚Ä‚µ‚Ü‚¢‚Ü‚·‚Ì‚Å“K‹X‰üs‚ª•K—v‚Å‚·D —\–ñŒê‚â•Ï”–¼‚Ì“r’†‚Å‚È‚¯‚ê‚ÎCˆê‚‚̧–ñŽ®‚Ì“r’†‚ʼnüs‚µ‚Ä\‚¢‚Ü‚¹‚ñi‚½‚¾‚µC”äŠr‰‰ŽZŽq‚ƉE•Ó€‚Í“¯‚¶s‚É‘‚«‚Ü‚·jD ˆês‚É•Ï”‚ª 1 ŒÂ‚µ‚©‚È‚¢‚悤‚Èc’·‚Ì LP ƒtƒ@ƒCƒ‹‚Å‚à–â‘è‚ ‚è‚Ü‚¹‚ñiLP ƒtƒ@ƒCƒ‹‚Ì®Œ` ‚̓\ƒ‹ƒo[‚Ås‚¦‚Ü‚·jD
  2. LP ƒtƒ@ƒCƒ‹‚Ì“Ç‚Ýž‚݂ŃGƒ‰[‚ªo‚é

    @‚Ü‚¸‚ÍC—\–ñŒêiminimize “™j‚̃Xƒyƒ‹ƒ~ƒX‚ª–³‚¢‚©Šm”F‚µ‚Ä‚­‚¾‚³‚¢D ‘å•”•ª‚Ì—\–ñŒê‚ÍŠî–{“I‚ÉV‚µ‚¢s‚©‚çŽn‚ßC‚»‚ÌŒã‚ë‚ʼnüs‚µ‚Ü‚·D üŒ`§–ñŽ®‚ð‘‚­‚Ì‚É [ ] ‚â / ‚â * ‚È‚Ç‚ðŽg‚Á‚Ä‚¢‚È‚¢‚Å‚µ‚傤‚©i‚±‚ê‚ç‚Ì‹L†‚Í“ñŽŸ€‚ð•\‚·‚Ì‚ÉŽg‚¢‚Ü‚·jD ’蔌W”‚Æ•Ï”‚ÌÏ‚ÍCƒXƒy[ƒX‚ðŽg‚Á‚Ä•\‚µ‚Ü‚·D ‚Ü‚½Ce ‚â E ‚Í 1e4 y ‚È‚Ç‚ÌŽw”•\‹L‚É‚àŽg‚í‚ê‚邽‚ßC•Ï”–¼‚̂‚¯•û‚É’ˆÓ‚µ‚Ü‚µ‚傤D
  3. §–ñŽ® 5 x + y = 7 ‚ð•\‚·‚Ì‚ÉCLP ƒtƒ@ƒCƒ‹‚Å a x + y = 7 ‚¨‚æ‚Ñ a = 5 (‚Ü‚½‚Í a * x + y = 7 ‚¨‚æ‚Ñ a = 5) ‚Æ‘‚¢‚½‚çƒGƒ‰[‚É‚È‚Á‚½

    @a ‚ª•Ï”‚Æ‚Ý‚È‚³‚ê‚ÄC§–ñŽ®‚É•Ï”‚ÌÏ‚ªŠÜ‚Ü‚ê‚Ä‚µ‚Ü‚¤‚½‚ß‚Å‚·D LP ƒtƒ@ƒCƒ‹‚Å‚ÍC’蔌W”‚Í”Žš‚ð’¼Ú‘‚«C‚»‚ÌŒã‚ë‚ɃXƒy[ƒX‚ð‹ó‚¯‚ÄŒW‚é•Ï”‚ð’u‚«‚Ü‚·D ‚½‚¾‚µC’蔂ð•Ï”‚É‚µ‚Ă৖ñŽ®‚ªüŒ`‚É‚È‚é‚Ü‚Ü‚È‚çC’蔂ð•Ï”‚É’u‚«‚©‚¦‚Ä‘‚¢‚Ä‚¨‚­‚±‚Ƃ͉”\‚Å‚·D —Ⴆ‚ÎC§–ñŽ® 5 x + y = 7 ‚ð LP ƒtƒ@ƒCƒ‹‚Å 5 x + y - b = 0 ‚¨‚æ‚Ñ b = 7 ‚Æ‘‚¢‚Ä‚àC•Ï”‚ÌÏ‚É‚Í‚È‚Á‚Ä‚¢‚È‚¢‚Ì‚ÅüŒ`§–ñŽ®‚Æ‚Ý‚È‚³‚ê‚Ü‚·D Œ«‚¢ƒ\ƒ‹ƒo[‚È‚ç‚ÎC’l‚ªŒÅ’肳‚ꂽ•Ï”‚Í‘Oˆ—‚Åœ‹Ž‚µ‚Ä‚µ‚Ü‚¤‚½‚ßCŽÀÛ‚ÌŒø—¦‚à•Ï‚í‚è‚ ‚è‚Ü‚¹‚ñD
  4. •ªŽ}ŒÀ’è–@‚Ì“r’†‚Ńƒ‚ƒŠ‚ª‘«‚è‚È‚­‚È‚é

    @–â‘è‚̃TƒCƒY‚ª‚»‚ê‚Ù‚Ç‘å‚«‚­‚È‚¢‚̂Ƀƒ‚ƒŠ•s‘«‚É‚È‚éꇂÍC–â‘è‚Ì«Ž¿‚à‚µ‚­‚͒莮‰»i‚ ‚é‚¢‚Í‚»‚Ì—¼•ûj‚ª‚ ‚Ü‚è—Ç‚­‚È‚¢‚±‚Æ‚ðŽ¦´‚µ‚Ä‚¢‚Ü‚·D ‰Â”\‚È‚ç‚Ηǂ¢’莮‰»‚É•Ï‚¦‚é‚Ì‚ª–]‚Ü‚µ‚¢‚Å‚·‚ªC‚Æ‚è‚ ‚¦‚¸ƒ\ƒ‹ƒo[‚̃IƒvƒVƒ‡ƒ“‚Å‘Îô‚ð‚Ƃ邱‚Æ‚Í‚Å‚«‚Ü‚·D ‚È‚¨C•ªŽ}ŒÀ’è–@‚Å” GB ‚̃ƒ‚ƒŠ‚ðH‚¢‚‚Ԃµ‚Ä‚¢‚é‚悤‚ÈꇂɂÍCŒvŽZ‚𑱂¯‚é‚Æ‚·‚®‚É‚»‚Ì”{‚̃ƒ‚ƒŠ‚ðÁ”‚Ä‚µ‚Ü‚¤‚±‚Æ‚à‘½‚­Cƒƒ‚ƒŠ‚𑽭‘Ý‚µ‚Ä‚à‚ ‚Ü‚èŒø‰Ê‚ª‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·D
  5. ”’l”j’]‚ð‹N‚±‚µ‚ăGƒ‰[‚É‚È‚é

    @”ñí‚É‘å‚«‚ÈŒW”‚ðŽ‚§–ñŽ®‚ª¬Ý‚·‚é–â‘è‚È‚ÇC”’l“I‚É•sˆÀ’è‚É‚È‚éƒP[ƒX‚ª‚¢‚­‚‚©‚ ‚è‚Ü‚·D “Á‚ÉC§–ñŽ®‚É“ñŽŸ€‚ðŠÜ‚Þ–â‘è‚Í”’l“I‚É•sˆÀ’è‚ɂȂ肪‚¿‚Å‚·D ‚±‚̂悤‚Èê‡C§–ñŽ®‚ð‘O‚à‚Á‚ăXƒP[ƒŠƒ“ƒO‚µ‚Ä‚¨‚­‚Æ—Ç‚¢Œ‹‰Ê‚ɂȂ邱‚Æ‚à‚ ‚è‚Ü‚·D @‚Ü‚½C–Ú“IŠÖ”‚ª“Ê“ñŽŸŠÖ”iő剻–â‘è‚Ìꇂ͉š“ñŽŸŠÖ”j‚Ì‚Í‚¸‚È‚Ì‚ÉC”’lŒë·‚̉e‹¿‚Åu“Ê‚Å‚È‚¢v‚Æ‚¢‚¤ƒGƒ‰[‚ªo‚éꇂª‚ ‚è‚Ü‚·D ‚±‚Ìê‡C–Ú“IŠÖ”‚ÌŒW”‚ð‘S‚Ä®”‚ɃXƒP[ƒŠƒ“ƒO‚·‚éC‘Ίp€‚ÌŒW”‚ð”÷¬‚É‘‰Á‚³‚¹‚éCV‚µ‚¢•Ï”‚Ƨ–ñŽ®‚𓱓ü‚µ‚ÄŒW”s—ñ‚ð‘a‚É‚·‚é‚È‚Ç‚Ì‘Îô‚ðŽŽ‚µ‚Ä‚Ý‚Ä‚­‚¾‚³‚¢D
  6. –Ú“IŠÖ”‚Ü‚½‚ͧ–ñŽ®‚É“ñŽŸ€‚ð‘‚¢‚½‚ªƒGƒ‰[‚É‚È‚Á‚½

    @‚¢‚­‚‚©‚Ì—áŠO‚𜂢‚ÄC–Ú“IŠÖ”‚ÍüŒ`ŠÖ”‚Ü‚½‚Í“Ê“ñŽŸŠÖ”iő剻–â‘è‚Ìꇂɂ͉š“ñŽŸŠÖ”j‚Å‚È‚­‚Ä‚Í‚È‚è‚Ü‚¹‚ñD ‚³‚ç‚ÉC§–ñŽ®‚Ìꇂͮ”ðŒ‚𜂢‚½‹–—e—̈悪“Ê‚Å‚ ‚邱‚Æ‚ª•K—v‚Å‚·D ‚Ü‚½“ñŽŸ€‚ª‚ ‚éꇂɂÍC–Ú“IŠÖ”‚©§–ñŽ®‚©‚Å LP ƒtƒ@ƒCƒ‹‚Ì‘‚«•û‚ªŽáŠ±•Ï‚í‚è‚Ü‚·D uLP ƒtƒ@ƒCƒ‹‚ÅC“ñŽŸ‚Ì–Ú“IŠÖ”‚ð•\‚µ‚½‚¢vuLP ƒtƒ@ƒCƒ‹‚ÅC“ñŽŸ‚̧–ñŽ®‚ð•\‚µ‚½‚¢v ‚Ì€‚àŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D ‚È‚¨C0-1 •Ï”‚ÌÏ‚ÉŠÖ‚µ‚Ä‚ÍC“Á•Ê‚È‘Oˆ—‚ðŽ{‚µ‚Ä”CˆÓ‚ÌŒ`‚Ì“ñŽŸ€‚ªˆµ‚¦‚éƒ\ƒ‹ƒo[‚ª‚ ‚é‚悤‚Å‚·D u0-1 •Ï” x, y ‚ɑ΂µ‚ÄCuz = x * yv‚ɑΉž‚·‚é 0-1 •Ï” z ‚ðŽg‚¢‚½‚¢v‚àŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢D @‚Ü‚½C–Ú“IŠÖ”‚ª“Ê“ñŽŸŠÖ”iő剻–â‘è‚Ìꇂ͉š“ñŽŸŠÖ”j‚Ì‚Í‚¸‚È‚Ì‚ÉC”’lŒë·‚̉e‹¿‚Åu“Ê‚Å‚È‚¢v‚Æ‚¢‚¤ƒGƒ‰[‚ªo‚éꇂª‚ ‚è‚Ü‚·D ‚±‚Ìê‡C–Ú“IŠÖ”‚ÌŒW”‚ð‘S‚Ä®”‚ɃXƒP[ƒŠƒ“ƒO‚·‚éC‘Ίp€‚ÌŒW”‚ð”÷¬‚É‘‰Á‚³‚¹‚éCV‚µ‚¢•Ï”‚Ƨ–ñŽ®‚𓱓ü‚µ‚ÄŒW”s—ñ‚ð‘a‚É‚·‚é‚È‚Ç‚Ì‘Îô‚ðŽŽ‚µ‚Ä‚Ý‚Ä‚­‚¾‚³‚¢D
  7. [CPLEX]@ILOG CPLEX Optimization Studio ‚ªŽÀs‚Å‚«‚È‚¢

    @CPLEX ‚É•t‘®‚µ‚Ä‚¢‚é CPLEX Optimization Studio ‚ðŽg—p‚µ‚Ä‚¢‚ÄC–â‘è‚ð OPL Œ¾Œê‚ų‚µ‚­‹Lq‚µ‚½‚É‚à‚©‚©‚í‚炸CŽÀs‚·‚é‚Æu‘I‘ð‚ð‹N“®‚Å‚«‚Ü‚¹‚ñD‚Ü‚½CÅ‹ß‹N“®‚³‚ê‚Ä‚¢‚Ü‚¹‚ñv‚Æ•\Ž¦‚³‚ê‚Äi‚Ü‚È‚¢C‚ ‚é‚¢‚ÍŽÀs‚Å‚«‚Ä‚àu•s–¾‚ȃGƒ‰[v‚ªo‚ÄŽ~‚Ü‚Á‚Ä‚µ‚Ü‚¤ê‡‚É‚ÍCƒfƒtƒHƒ‹ƒg‚Åu\¬1v‚É‚È‚Á‚Ä‚¢‚éŽÀs\¬‚Ì–¼‘O‚𔼊p‰p”Žš‚É•ÏX‚µ‚Ä‚­‚¾‚³‚¢D
    @‚Ü‚½‚ÍCCPLEX Optimization Studio ‚̃Cƒ“ƒ^[ƒtƒF[ƒX‚ð‘S‚ĉpŒê‚É‚µ‚Ä‚µ‚Ü‚¤•û–@‚ª‚ ‚è‚Ü‚·D Windows ‚ÌꇂÍCƒVƒ‡[ƒgƒJƒbƒg‚̃vƒƒpƒeƒB‚̃Šƒ“ƒNæ‚ð "C:\...\oplide.exe" -nl en_US ‚̂悤‚É’¼‚·‚±‚ƂʼnpŒê”Å‚ª‹N“®‚µ‚Ü‚·i-nl en_US ‚Í " " ‚ÌŠO‘¤‚É‘‚­jD ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚ç‚Ì‹N“®‚ÌꇂÍCˆø”‚É -nl en_US ‚ð‚‚¯‚Ä‹N“®‚µ‚Ä‚­‚¾‚³‚¢D
–ÚŽŸ‚Ö–ß‚é
  1. ‰ð‚¢‚Ä‚Ý‚½‚ªŒ‹‰Ê‚ª‚¨‚©‚µ‚¢

@–â‘è‚Í‰ð‚¯‚½‚ªC‚Ç‚¤‚àŒ‹‰Ê‚ª•Ï‚¾‚Æ‚¢‚¤‚Æ‚«‚É‚Í‚±‚¿‚ç‚ðŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢D
  1. ‰ð‚É’l‚ª•\Ž¦‚³‚ê‚È‚¢•Ï”‚ª‚ ‚é

    @‘å•”•ª‚̃\ƒ‹ƒo[‚ÅC’l‚ª 0 ‚Ì•Ï”‚Í•\Ž¦‚³‚ê‚Ü‚¹‚ñi‘å‹K–Í‚ÈÅ“K‰»–â‘è‚̉ð‚Å‚ÍC•Ï”‚Ì’l‚Ì‚¤‚¿‚Ù‚Æ‚ñ‚Ç‚ª 0 ‚Å‚ ‚邱‚Æ‚ª‘½‚¢‚½‚ßjD
  2. x < 7 ‚Æ‚¢‚¤§–ñŽ®‚ð“ü‚ꂽ‚Ì‚ÉCŒvŽZ‚·‚é‚Æ x ‚ª 7 ‚̉ð‚ªo‚é

    @LP ƒtƒ@ƒCƒ‹‚Å‚ÍC“™†–³‚µ‚Ì•s“™†‚ÍC“™†•t‚«‚Ì•s“™†‚Æ“¯‚¶ˆÓ–¡‚É‚È‚è‚Ü‚·D
  3. LP ƒtƒ@ƒCƒ‹‚ðì‚Á‚½‚çCŸŽè‚É”ñ•‰•Ï”‚É‚È‚Á‚Ä‚¢‚éDƒ}ƒCƒiƒX‚Ì’l‚ðŽæ‚肤‚é•Ï”iŽ©—R•Ï”j‚ðì‚肽‚¢

    @LP ƒtƒ@ƒCƒ‹‚Å‚ÍC’è‹`‚µ‚½•Ï”‚̓fƒtƒHƒ‹ƒg‚Å”ñ•‰ðŒ‚ª‰Û‚³‚ê‚Ä‚¢‚Ü‚·D ‚±‚ê‚ðŽæ‚蜂­‚É‚ÍCfree 錾‚ð—p‚¢‚Ü‚·D u–â‘è‚ðƒ\ƒ‹ƒo[‚É“ü—Í‚·‚邽‚ß‚É‚Ív‚Ü‚½‚Í ŽQl•¶Œ£ 9 ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
  4. ‰ð‚¯‚é‚É‚Í‰ð‚¯‚½‚ªCˆÓ}‚µ‚½–â‘è‚Æ‚µ‚Ä“Ç‚Ýž‚Ü‚ê‚Ä‚¢‚È‚¢‚悤‚¾

    @ˆÓ}‚µ‚½’Ê‚è‚Ì–â‘è‚É‚È‚Á‚Ä‚¢‚È‚¢‚ÆŽv‚í‚ê‚éꇂÍCƒ\ƒ‹ƒo[‚É“Ç‚Ýž‚Ü‚¹‚½ LP ƒtƒ@ƒCƒ‹‚ðˆê“x‘‚«o‚³‚¹‚é‚ÆC–â‘肪³‚µ‚¢‚©‚Ç‚¤‚©Šm‚©‚ß‚ç‚ê‚Ü‚·D ˆÈ‰ºCLP ƒtƒ@ƒCƒ‹‚Ì–¼‘O‚ð‰¼‚É test1.lp ‚Æ‚µ‚Ü‚·D
  5. Ž©•ª‚Å LP ƒtƒ@ƒCƒ‹‚𶬂µ‚½‚ªC‹–—e‰ð‚ª‚ ‚é‚Í‚¸‚Ì–â‘è‚È‚Ì‚É•s”\ (infeasible) ‚É‚È‚é

    @ŋ߂̃\ƒ‹ƒo[‚É‚ÍCŒÝ‚¢‚É‘Š”½‚·‚éŬ‚̧–ñW‡‚ðo—Í‚·‚é‹@”\‚ª‚‚¢‚Ä‚¢‚邱‚Æ‚ª‚ ‚è‚Ü‚·D ‚±‚Ì‹@”\‚ÍCÅ“K‰»–â‘肪•s”\iŽÀs•s”\Cinfeasiblej‚ÈŽž‚Éô‚ðŒŸ“¢‚·‚邾‚¯‚Å‚È‚­CLP ƒtƒ@ƒCƒ‹¶¬‚̃oƒO‚ðŽæ‚é‚Ì‚É‚à‚Æ‚Ä‚à•Ö—˜‚Å‚·D ‚½‚¾‚µC–â‘èƒTƒCƒY‚𬂳‚­‚µ‚È‚¢‚ÆŒvŽZŽžŠÔ‚ª‚©‚©‚邽‚ßC‚È‚é‚ׂ­‹K–̬͂‚³‚È–â‘è‚©‚çƒeƒXƒg‚·‚é‚Ì‚ª‚æ‚¢‚Å‚µ‚傤D
  6. •Ê‚̃\ƒ‹ƒo[‚Å‰ð‚­‚ÆÅ“K‰ð‚ªˆá‚¤

    @Å“K‰ð‚ª•¡”‘¶Ý‚·‚éê‡C‰ð‚ªˆÙ‚Ȃ邱‚Æ‚Í‚ ‚肦‚Ü‚·D Å“K’l‚»‚Ì‚à‚Ì‚ªˆá‚Á‚Ä‚¢‚éꇂÍC‚¨‚»‚ç‚­•ªŽ}ŒÀ’è–@‚ðI—¹‚³‚¹‚é”»’èðŒ‚Ì–â‘è‚Å‚·D @‚È‚¨C¬‡®”“ñŽŸÅ“K‰»–â‘è (MISOCO) ‚È‚ÇC§–ñŽ®‚É“ñŽŸ€‚ðŠÜ‚Þ®”Å“K‰»–â‘è‚Í”’lŒë·‚ÉŽã‚­Cƒ\ƒ‹ƒo[‚ªŠÔˆá‚Á‚½‰ð‚ðÅ“K‰ð‚Æ‚µ‚Ä•Ô‚µ‚Ä‚­‚邱‚Æ‚ª‚ ‚è‚Ü‚·D ‚±‚ê‚É‚ÍŒˆ’è“I‚È‘Îô‚Í‚È‚¢‚Ì‚Å‚·‚ªC‰Â”\‚È‚ç‚Ε¡”‚̃\ƒ‹ƒo[‚ȂǂŃ`ƒFƒbƒN‚·‚é‚ƃGƒ‰[‚ðŒ¸‚ç‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·D
  7. ®”•Ï”‚È‚Ì‚ÉC0.000001 ‚Ü‚½‚Í 0.999999 ‚̂悤‚ȉð‚ªo‚é

    @‚Ü‚¸‚ÍC“¾‚ç‚ꂽ‰ð‚ð®”‚ÉŠÛ‚ß‚Ä‚Ý‚ÄC‹–—e‰ð‚ª‚«‚¿‚ñ‚Æ“¾‚ç‚ê‚Ä‚¢‚é‚©‚Ç‚¤‚©‚ðŠm”F‚µ‚Ü‚µ‚傤D ŽŸ‚ÉCbig-M –@‚Å‹‘å‚Ȓ蔂ðŽg‚Á‚Ä‚¢‚È‚¢‚©Šm”F‚µ‚Ä‚­‚¾‚³‚¢D Big-M –@‚Å•K—vˆÈã‚É‘å‚«‚Ȓ蔂ðŽg‚¤‚±‚Æ‚ÍC”’lˆÀ’è«‚¨‚æ‚ÑŒvŽZ‘¬“x‚𑹂˂܂·D ‚È‚¨CŒvŽZ‚ɂ͌뷂ªŠÜ‚Ü‚ê‚Ü‚·‚Ì‚Å“¾‚ç‚ꂽŒ‹‰Ê‚ðˆ—‚·‚éÛ‚É‚Í’ˆÓ‚ª•K—v‚Å‚·D —Ⴆ‚ÎC0-1 •Ï”‚Æ‚µ‚Ä‚¢‚Ä‚à 0.000001 ‚̂悤‚È’l‚ª“¾‚ç‚ê‚邱‚Æ‚ª‚ ‚邽‚ßCuint Œ^‚Ì 0 ‚Æ”äŠr‚·‚év‚Æ‚¢‚¤‚悤‚Ȉ—‚ÍŒë‚Á‚½Œ‹‰Ê‚𵂭‚±‚Æ‚ª‚ ‚è‚Ü‚·D
  8. •ªŽ}ŒÀ’è–@‚ði‚ß‚½‚çCÅ“K«ƒMƒƒƒbƒv‚ª‘‚¦‚½

    @’ÊíC•ªŽ}ŒÀ’è–@‚É‚¨‚¯‚é‘Š‘ΓI‚ÈÅ“K«ƒMƒƒƒbƒviãŠE‚ƉºŠE‚ÌŠ„‡j‚Í’P’²‚ÉŒ¸­‚µ‚Ü‚·‚ªCãŠE‚ƉºŠE‚̳•‰‚ªˆÙ‚È‚é’iŠK‚Å‚ÍC㉺ŠE‚ª‰ü‘P‚³‚ꂽ‚Æ‚«‚Ɉꎞ“I‚ÉÅ“K«ƒMƒƒƒbƒv‚Ì’l‚ª‘‰Á‚µ‚½‚悤‚ÉŒ©‚¦‚邱‚Æ‚ª‚ ‚è‚Ü‚·D ‚±‚ê‚ÍCƒ\ƒ‹ƒo[‚É‚æ‚éÅ“K«ƒMƒƒƒbƒv‚ÌŒvŽZ•û–@‚É‹Nˆö‚·‚é‚à‚Ì‚Å‚·D ‚±‚̂悤‚È’iŠK‚É‚¨‚¢‚Ä‚ÍC‘Š‘ΓI‚ÈÅ“K«ƒMƒƒƒbƒv‚Ì’l‚Í•ªŽ}ŒÀ’è–@‚Ìis󋵂̖ڈÀ‚Æ‚µ‚Ä‚ ‚Ü‚èŽQl‚É‚È‚è‚Ü‚¹‚ñD â‘ΓI‚ÈÅ“K«ƒMƒƒƒbƒviãŠE‚ƉºŠE‚Ì·j‚ðŠÏŽ@‚µ‚Ä‚­‚¾‚³‚¢D
    @‚Ü‚½CÅ“K’l‚ª 0 ‚Å‚ ‚é‚悤‚È–â‘è‚Ìê‡C‘Š‘ΓI‚ÈÅ“K«ƒMƒƒƒbƒv‚Í•ªŽ}ŒÀ’è–@‚Ìis󋵂̖ڈÀ‚Æ‚µ‚Ä‚Ù‚Æ‚ñ‚Ç–ð‚É—§‚¿‚Ü‚¹‚ñD ‚±‚ÌꇂɂàCâ‘ΓI‚ÈÅ“K«ƒMƒƒƒbƒv‚ðŽQl‚É‚µ‚Ä‚­‚¾‚³‚¢D
  9. [CPLEX]@ILOG CPLEX Optimization Studio ‚Å LP ƒtƒ@ƒCƒ‹‚𶬂µ‚½‚ªC“YŽš‚ª‚¸‚ê‚é

    @CPLEX ‚É•t‘®‚µ‚Ä‚¢‚é CPLEX Optimization Studio ‚É‚¨‚¢‚Ä OPL Œ¾Œê‚Å–â‘è‚ð‹Lq‚µCŽÀs‚·‚é‚Æ LP ƒtƒ@ƒCƒ‹‚𶬂·‚é‚悤‚Éݒ肵‚Ä‚¢‚é‚Æ‚«C”z—ñ•Ï”‚Ì“YŽš‚ð 1 ‚©‚çŽn‚ß‚é‚悤‚É‚µ‚Ä‚¢‚Ä‚àCLP ƒtƒ@ƒCƒ‹‚Å‚Í 0 ‚©‚çŽn‚Ü‚é‚悤‚É‚È‚Á‚Ä‚¢‚éꇂª‚ ‚è‚Ü‚·i‚»‚¤‚È‚ç‚È‚¢Žž‚à‚ ‚è‚Ü‚·jD LP ƒtƒ@ƒCƒ‹‚É‚à–â‘莩‘̂ͳ‚µ‚­‹Lq‚³‚ê‚Ä‚¢‚é‚Ì‚Å‚·‚ªC‚±‚ÌŒ»Û‚ª‹N‚«‚é‚Æ“YŽš‚ª‚¸‚ê‚Ä‚¢‚é‚Ì‚ÅlŠÔ‚ª‰ð‚ð‰ðŽß‚·‚éÛ‚ÉŠÔˆá‚Á‚Ä‚µ‚Ü‚¤‰Â”\«‚ª‚ ‚è‚Ü‚·D ‚±‚Ì–â‘肪”­¶‚µ‚½ê‡‚ÍCOPL Œ¾Œêã‚Å”z—ñ•Ï”‚Ì“YŽš‚ð 0 ‚©‚çŽn‚ß‚é‚悤‚É‚µC“YŽš 0 ‚ɑΉž‚·‚é•Ï”‚ɂ͒蔂ð—^‚¦‚Ä‚µ‚Ü‚¦‚ΓYŽš‚ª‚¸‚ê‚邱‚Æ‚Í‚Æ‚è‚ ‚¦‚¸‚È‚­‚È‚è‚Ü‚·D
–ÚŽŸ‚Ö–ß‚é
  1. LP ƒtƒ@ƒCƒ‹‚ɂ‚¢‚Ä

@LP ƒtƒ@ƒCƒ‹‚ɂ‚¢‚Ä‚ÌC‚æ‚èׂ©‚¢î•ñ‚Å‚·D
  1. LP ƒtƒ@ƒCƒ‹‚ÌÚׂȕ¶–@‚ª’m‚肽‚¢

    @LP ƒtƒ@ƒCƒ‹‚É‚ÍC“ˆê‚³‚ꂽƒtƒH[ƒ}ƒbƒg‚ª‘¶Ý‚¹‚¸Cƒ\ƒ‹ƒo[‚²‚Æ‚É“ÆŽ©‚ÌŠg’£‚ª‚³‚ê‚Ä‚¢‚Ü‚·D –{ƒy[ƒW‚¨‚æ‚Ñ ŽQl•¶Œ£ 9 ‚Å‚ÍC‘½‚­‚̊‹«‚ňµ‚¦‚é‚ÆŽv‚í‚ê‚éCCPLEX ‚Å—p‚¢‚ç‚ê‚Ä‚¢‚é LP ƒtƒ@ƒCƒ‹Œ`Ž®‚̈ꕔ•ª‚ð‚à‚Æ‚É‹Lq‚µ‚Ä‚¢‚Ü‚·D ƒ\ƒ‹ƒo[‚²‚Æ‚É’è‚ß‚ç‚ê‚Ä‚¢‚é LP ƒtƒ@ƒCƒ‹‚ÌÚׂȕ¶–@‚ÍCˆÈ‰º‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
  2. –Ú“IŠÖ”‚ª–³‚¢–â‘è‚ðˆµ‚¢‚½‚¢

    @minimizei‚ ‚é‚¢‚Í maximizej‚ÌŽŸ‚Ìs‚É subject to ‚Æ‚µ‚ħ–ñŽ®‚ð‘‚«Žn‚ß‚Ä‚­‚¾‚³‚¢D ‚½‚¾‚µC–Ú“IŠÖ”‚ª–³‚¢–â‘è‚Å‚àC“K“–‚È–Ú“IŠÖ”‚ðݒ肵‚Ä‚â‚邱‚Æ‚É‚æ‚èŒvŽZ‚ª‚‘¬‚ɂȂ邱‚Æ‚ª‚ ‚è‚Ü‚·i’x‚­‚Ȃ邱‚Æ‚à‚ ‚è‚Ü‚·jD —Ⴆ‚ÎC•Ï”‚ÌoŒ»‚µ‚½‡‚Éd‚Ý‚ÌŒW”‚ð 1, 2, ... ‚Æ‚µ‚Ä–Ú“IŠÖ”‚É“ü‚ê‚Ä‚â‚é“™‚Å‚·D
  3. LP ƒtƒ@ƒCƒ‹‚ŃVƒOƒ}‹L†‚â”z—ñ‚É‘Š“–‚·‚é‚à‚Ì‚ð—p‚¢‚½‚¢

    @LP ƒtƒ@ƒCƒ‹‚É‚»‚̂悤‚È‹@”\‚Í‚È‚¢‚½‚ßC1000 ŒÂ‚Ì•Ï”‚̘a‚Íi“K‹X‰üs‚µ‚È‚ª‚çjƒxƒ^‚É‘‚­‚±‚Æ‚É‚È‚è‚Ü‚·D ‚Ü‚½ x(1) ‚Æ‘‚¢‚Ä‚àCx(2) ‚Æ‚Í“Á‚ÉŠÖŒW‚ª‚ ‚è‚Ü‚¹‚ñ‚µCx2)))) ‚Æ‚¢‚¤‚悤‚È•Ï”‚à‰Â”\‚Å‚·D ‚à‚¿‚ë‚ñClŠÔ‚ª•Ï”‚̈Ӗ¡‚ð—‰ð‚µ‚â‚·‚¢‚悤‚ÉCx(1), y(3,4), z_7_5_6 ‚È‚Ç‚Æ”z—ñ•—‚É‘‚­‚±‚Æ‚Í„§‚³‚ê‚Ü‚·D i‚½‚¾‚µC[ ] ‚Í LP ƒtƒ@ƒCƒ‹‚Å“ñŽŸŽ®‚ð•\‚·Û‚Ì‹L†‚Ì‚½‚ß—p‚¢‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñDj
  4. ‹‘å‚È LP ƒtƒ@ƒCƒ‹‚ð‚Ç‚¤‚â‚Á‚Ķ¬‚·‚ê‚΂悢‚©

    @‘å‚«‚­•ª‚¯‚Ĉȉº‚Ì 3 ‚‚̕û–@‚ª‚ ‚è‚Ü‚·F uƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚Å LP ƒtƒ@ƒCƒ‹‚𶬂·‚év u”—Å“K‰»ƒ‚ƒfƒŠƒ“ƒOƒc[ƒ‹‚ðŽg‚¤v uƒ\ƒ‹ƒo[‚É€”õ‚³‚ê‚Ä‚¢‚é API ‚È‚Ç‚ÅCiLP ƒtƒ@ƒCƒ‹‚ð‰î‚³‚¸jƒ_ƒCƒŒƒNƒg‚É–â‘趬‚¨‚æ‚Ñ‹‰ð‚ðs‚¤vD ‚»‚ꂼ‚ê‚Ì—˜“_‚ÆŒ‡“_‚͈ȉº‚Ì’Ê‚è‚Å‚·D
    @uƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚Å LP ƒtƒ@ƒCƒ‹‚𶬂·‚évF Žg‚¢Šµ‚ê‚Ä‚¢‚éƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ŃeƒLƒXƒg‚ðo—Í‚³‚¹‚ê‚΂悢‚Ì‚ÅCˆê”Ô‚¨ŽèŒy‚Å‚·D –{ƒy[ƒW‚Å‚àCLP ƒtƒ@ƒCƒ‹{Šeƒ\ƒ‹ƒo[‚Ì CLI ‚ð—p‚¢‚½•û–@‚ð‘z’肵‚ÄЉ‚Ä‚¢‚Ü‚·D ‚Ü‚½C–â‘è‚ð LP ƒtƒ@ƒCƒ‹‚ð‰î‚µ‚Ĉµ‚¤‚½‚ßC‚ ‚éƒ\ƒ‹ƒo[‚©‚瑼‚̃\ƒ‹ƒo[‚Éæ‚芷‚¦‚邱‚Æ‚à—eˆÕ‚È‚Ì‚àƒƒŠƒbƒg‚Å‚·D ‚½‚¾‚µ‚ ‚­‚Ü‚Å‚à LP ƒtƒ@ƒCƒ‹ƒx[ƒX‚Ì‚½‚ßC‘¼‚Ì•û–@‚Æ”äŠr‚·‚é‚ƃ\ƒ‹ƒo[‚Ì•¡ŽG‚ȧŒä‚ª“‚¢‚Æ‚¢‚¤ƒfƒƒŠƒbƒg‚à‚ ‚è‚Ü‚·‚ªC–â‘è‚ð“Æ—§‚É‰ð‚­‚¾‚¯‚È‚ç‚΂±‚Ì•û–@‚Å‚à‚Ù‚Æ‚ñ‚Ç•s•Ö‚Í‚È‚¢‚ÆŽv‚í‚ê‚Ü‚·D
    @u”—Å“K‰»ƒ‚ƒfƒŠƒ“ƒOƒc[ƒ‹‚ðŽg‚¤vF ƒƒŠƒbƒg‚ÍC”Ž®‚Å•\Œ»‚³‚ꂽƒ‚ƒfƒ‹‚©‚çƒvƒƒOƒ‰ƒ€‚ªì‚è‚â‚·‚¢‚±‚Æ‚Å‚·D —Ⴆ‚ÎC‚ ‚郂ƒfƒŠƒ“ƒOŒ¾Œê‚Å‚Íux1 ‚©‚ç x100 ‚܂ł̘a‚ª 3 ˆÈ‰ºv‚ð•\Œ»‚·‚é‚Ì‚É sum(i in 1..100)(x[i]) <= 3 ‚Æ‘‚­‚±‚Æ‚ª‚Å‚«‚é‚È‚ÇC”Ž®‚©‚çƒvƒƒOƒ‰ƒ€‚Ö’¼Š´“I‚É‘‚«Š·‚¦‚ª‰Â”\‚Æ‚È‚Á‚Ä‚¢‚Ü‚·D ‘¼‚É‚àC‚æ‚­Žg‚¤ƒ^ƒCƒv‚̧–ñŽ®‚ɑΉž‚·‚é—\–ñŒê‚ª€”õ‚³‚ê‚Ä‚¢‚é‚È‚ÇC”Šw“I’莮‰»‚ªŠ®¬‚µ‚Ä‚©‚ç‚Ì•ÏŠ·ì‹Æ‚ª”ñí‚É‚‘¬‚És‚¦‚邱‚Æ‚ª—˜“_‚Å‚·D ‚½‚¾‚µC”—Å“K‰»ƒ‚ƒfƒŠƒ“ƒOƒc[ƒ‹‚ðw“ü‚µC‚»‚±‚ÅŽg—p‚³‚ê‚Ä‚¢‚郂ƒfƒŠƒ“ƒOŒ¾Œê‚ðK“¾‚·‚éŽèŠÔ‚ª‚©‚©‚è‚Ü‚·D ”Ä—p‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ðŠo‚¦‚é‚æ‚è‚Í—eˆÕ‚Å‚·‚ªC‚ ‚é’ö“x‚ÌŽžŠÔ“IE‹à‘K“I‚ȉŠú“ŠŽ‘‚ª•K—v‚É‚È‚è‚Ü‚·D ƒ\ƒ‹ƒo[‚É‚æ‚Á‚Ä‚ÍC”—Å“K‰»ƒ‚ƒfƒŠƒ“ƒOƒc[ƒ‹‚ª“¯«‚³‚ê‚Ä‚¢‚é‚à‚Ì‚à‚ ‚è‚Ü‚·D
    @uƒ\ƒ‹ƒo[‚É€”õ‚³‚ê‚Ä‚¢‚é API ‚È‚Ç‚ÅCiLP ƒtƒ@ƒCƒ‹‚ð‰î‚³‚¸jƒ_ƒCƒŒƒNƒg‚É–â‘趬‚¨‚æ‚Ñ‹‰ð‚ðs‚¤vF –â‘èƒtƒ@ƒCƒ‹‚̶¬‚ɂƂǂ܂炸C•ªŽ}‡˜‚Ì‘€ì‚È‚Ç•ªŽ}ŒÀ’è–@‚Ì‚“x‚ȧŒä‚ª‰Â”\‚É‚È‚é‚Ì‚ªˆê”Ԃ̃ƒŠƒbƒg‚Æ‚È‚è‚Ü‚·D —ñ¶¬–@‚È‚ÇC•¡”‚Ì–â‘èŠÔ‚Åî•ñ‚ð‚â‚è‚Æ‚è‚·‚é•K—v‚ª‚ ‚éꇂɂÍC‚±‚Ì•û–@‚ð—˜—p‚·‚é‚Ì‚ªŒ»ŽÀ“I‚Å‚µ‚傤D ‚½‚¾‚µ API ‚Ì‘Ž®‚Ȃǂ̓\ƒ‹ƒo[‚²‚ƂɈقȂ邽‚ßC•Êƒ\ƒ‹ƒo[‚Ö‚Ì—¬—p‚͓‚¢‚Ì‚àŠm‚©‚Å‚·D
  5. LP ƒtƒ@ƒCƒ‹‚ðŽ©“®“I‚É®Œ`‚µ‚½‚¢

    @LP ƒtƒ@ƒCƒ‹‚ðˆê“xƒ\ƒ‹ƒo[‚É“Ç‚Ýž‚Ü‚¹‚ÄC‚»‚ê‚©‚ç‘‚«o‚·‚Æ‚«‚ê‚¢‚É®Œ`‚µ‚Ä‚­‚ê‚Ü‚·D ˆÈ‰ºC®Œ`‚µ‚½‚¢ LP ƒtƒ@ƒCƒ‹‚Ì–¼‘O‚ð test1.lp ‚Æ‚µ‚Ü‚·D
  6. MPS ƒtƒ@ƒCƒ‹‚Ƃ͉½‚©DMPS ƒtƒ@ƒCƒ‹‚Æ LP ƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚µ‚½‚¢

    @MPS ƒtƒ@ƒCƒ‹‚Æ‚ÍC”—Å“K‰»–â‘è‚ð•\‚·ƒtƒ@ƒCƒ‹Œ`Ž®‚̈êŽí‚Å‚·D ƒeƒLƒXƒgƒtƒ@ƒCƒ‹‚È‚Ì‚Å‚·‚ªClŠÔ‚Ì–Ú‚Å‚Í‚ ‚Ü‚è“Ç‚Ý‚â‚·‚­‚Í‚ ‚è‚Ü‚¹‚ñD ƒxƒ“ƒ`ƒ}[ƒN–â‘è‚È‚Ç‚Í MPS Œ`Ž®‚ŃAƒbƒvƒ[ƒh‚³‚ê‚Ä‚¢‚邱‚Æ‚à‘½‚¢‚Å‚·D
  7. LP ƒtƒ@ƒCƒ‹‚ð MPS ƒtƒ@ƒCƒ‹‚É•ÏŠ·‚µ‚½‚çC–Ú“IŠÖ”’l‚ªƒ}ƒCƒiƒX 1 ”{‚É‚È‚Á‚½

    @‚¢‚­‚‚©‚̃\ƒ‹ƒo[‚Å‚ÍCő剻–â‘è‚Ì LP ƒtƒ@ƒCƒ‹‚ð MPS ƒtƒ@ƒCƒ‹‚É•ÏŠ·‚·‚é‚ÆCŒW”‚ðƒ}ƒCƒiƒX 1 ”{‚µ‚½Å¬‰»–â‘è‚É’u‚«Š·‚¦‚é‚悤‚Å‚·D
  8. LP ƒtƒ@ƒCƒ‹‚Å“ñŽŸ‚Ì–Ú“IŠÖ”‚ð•\‚µ‚½‚¢

    @Ŭ‰»–â‘è‚ÌꇂɓʓñŽŸ–Ú“IŠÖ”Cő剻–â‘è‚Ìꇂɉš“ñŽŸ–Ú“IŠÖ”‚ª’¼Úˆµ‚¦‚éƒ\ƒ‹ƒo[‚ª‚ ‚è‚Ü‚·D
    @–Ú“IŠÖ”‚É‚¨‚¢‚ÄCüŒ`€‚ðæ‚É‘‚«C‚»‚ê‚É‘±‚¢‚Ä“ñŽŸ€‚ð + [ 2 x^2 - 4 x * y + 9 y^2 ] /2 ‚̂悤‚É‘‚«‚Ü‚·D •Ï”‚Ì 2 æ‚Í ^2 ‚ðCƒNƒƒX€‚É‚Í * ‚ðŽg‚¢‚Ü‚·D ‚Ü‚½CŒW”‚Í 2 ”{‚µ‚Ä‘‚«C“ñŽŸ€‚Ì‘S‘Ì‚ð [ ] /2 ‚Å‚­‚­‚è‚Ü‚·i[ ] ‚Æ‚»‚ê‚æ‚è“à‘¤‚̓Xƒy[ƒX‚Å‹æØ‚éjD
  9. LP ƒtƒ@ƒCƒ‹‚Å“ñŽŸ‚̧–ñŽ®‚ð•\‚µ‚½‚¢

    @“Ê“ñŽŸ§–ñC“ñŽŸ§–ñ‚ª’¼Úˆµ‚¦‚éƒ\ƒ‹ƒo[‚ª‚ ‚è‚Ü‚·D
    @§–ñŽ®‚É‚¨‚¯‚é“ñŽŸ€‚Í [ x^2 - 2 x * y + 7 y^2 ] <= 58 ‚â [ x(1)^2 + 3 x(2)^2 - y * z ] <= 0 ‚̂悤‚É‘‚«‚Ü‚·i[ ] ‚Æ‚»‚ê‚æ‚è“à‘¤‚̓Xƒy[ƒX‚Å‹æØ‚éjD •Ï”‚Ì 2 æ‚Í ^2 ‚ðCƒNƒƒX€‚É‚Í * ‚ðŽg‚¢‚Ü‚·D –Ú“IŠÖ”‚É‚¨‚¯‚é“ñŽŸ€‚Ƃ̈Ⴂ‚ÍCŒW”‚ð 2 ”{‚µ‚Ä /2 ‚·‚é•K—v‚ª‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·D
  10. LP ƒtƒ@ƒCƒ‹‚Å–Ú“IŠÖ”‚ɒ蔀‚ðŠÜ‚ß‚½‚¢

    @LP ƒtƒ@ƒCƒ‹‚É‚Í“ˆê‚³‚ꂽƒtƒH[ƒ}ƒbƒg‚ª‘¶Ý‚¹‚¸Cƒ\ƒ‹ƒo[‚²‚Æ‚É“ÆŽ©‚ÌŠg’£‚ª‚³‚ê‚Ä‚¢‚Ü‚·D –Ú“IŠÖ”‚ɒ蔀‚ðŠÜ‚ß‚½ LP ƒtƒ@ƒCƒ‹‚ð’¼Úˆµ‚¦‚éƒ\ƒ‹ƒo[‚à‚ ‚é‚Ì‚Å‚·‚ªCƒGƒ‰[‚Æ‚È‚éƒ\ƒ‹ƒo[‚à‚ ‚èCŒ»ó‚Å‚Í–Ú“IŠÖ”‚ɒ蔀‚ðŠÜ‚ß‚½ LP ƒtƒ@ƒCƒ‹‚ð‘‚­‚±‚Æ‚Í‚ ‚܂肨‚·‚·‚ß‚Å‚«‚Ü‚¹‚ñD –Ú“IŠÖ”’l‚ð’蔀‚ðŠÜ‚ß‚½’l‚Æ‚µ‚Ä•\Ž¦‚³‚¹‚½‚¢ê‡‚ÍC—Ⴆ‚ΖړIŠÖ”‚ɒ蔀‚ɑΉž‚·‚é•Ï”‚ð‰Á‚¦C§–ñŽ®‚Å‚»‚Ì•Ï”‚Ì’l‚ðŒÅ’肵‚Ä‚µ‚Ü‚¦‚Γ¯“™‚Ì‚±‚Æ‚ª‚Å‚«‚Ü‚·D
  11. LP ƒtƒ@ƒCƒ‹‚É‘‚­•Ï”‚⧖ñŽ®‚̇”Ô‚ð•Ï‚¦‚½‚çŒvŽZŽžŠÔ‚ª•Ï‚í‚Á‚½

    @ƒ\ƒ‹ƒo[‚Í•ªŽ}ŒÀ’è–@‚Ì’†‚Å•ªŽ}‡˜‚ð—lX‚Èî•ñ‚©‚猈’肵‚Ä‚¢‚Ü‚·‚ªC ÅI“I‚É—Dæ“x‚ª“™‚µ‚¢ê‡‚ɂ͉½‚ç‚©‚̇˜‚ð‚‚¯‚é•K—v‚ª‚ ‚邽‚ßC•ªŽ}‡˜‚¨‚æ‚ÑŒvŽZŽžŠÔ‚ª•Ï”‚⧖ñŽ®‚ð‹Lq‚µ‚½‡”ԂɈˑ¶‚·‚邱‚Æ‚ª‚ ‚è‚Ü‚·D ‚±‚Ì‚ ‚½‚è‚Ìî•ñ‚Í ŽQl•¶Œ£ 4 ‚ÉÚ‚µ‚¢‚Å‚·D
  12. Lazy Constraints ‚ðŽg‚¢‚½‚¢

    @ƒ\ƒ‹ƒo[‚É‚æ‚Á‚Ä‚Í Lazy Constraints ‚ªŽg‚¦‚Ü‚·D Lazy Constraints ‚Æ’è‹`‚³‚ꂽ§–ñŽ®‚ÍCʼn‚Í–â‘è‚©‚çŽæ‚蜂©‚ê‚Ä‚¨‚èC‹–—e‰ð‚ªŒ©‚‚©‚邽‚Ñ‚É–â‘è‚ɒljÁ‚·‚é‚ׂ«‚©‚Ç‚¤‚©ƒ`ƒFƒbƒN‚³‚ê‚Ü‚·D §–ñŽ®‚Ì–{”‚ª–c‘å‚É‚È‚Á‚Ä‚µ‚Ü‚¤‚ªCŽÀÛ‚É‚Í‚»‚Ì‚¤‚¿‚Ì‚²‚­ˆê•”‚µ‚©ˆÓ–¡‚ª‚È‚¢‚悤‚È–â‘è‚ÅŒø‰Ê‚ð”­Šö‚µ‚Ü‚·D
    @ˆÈ‰º‚Å‚ÍCLP ƒtƒ@ƒCƒ‹‚Å Lazy Constraints ‚ðˆµ‚¤•û–@‚ðà–¾‚µ‚Ü‚·D ‚»‚à‚»‚৖ñŽ®‘S‘Ì‚ð LP ƒtƒ@ƒCƒ‹‚É‘‚«‚«‚é‚Ì‚ª“‚¢ê‡‚âC“®“I‚É Lazy Constraints ‚ð’ljÁ‚µ‚½‚¢‚悤‚ÈꇂÍCŠeƒ\ƒ‹ƒo[‚Ì API ‚ð—˜—p‚·‚é‚Ì‚ª•Ö—˜‚Å‚·D Úׂ̓}ƒjƒ…ƒAƒ‹‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
–ÚŽŸ‚Ö–ß‚é
  1. ƒ\ƒ‹ƒo[‚Ì’²®‚ÆŒvŽZ‘¬“x‚ɂ‚¢‚Ä

@ŒvŽZ‘¬“x‚ÉŠÖŒW‚·‚é•”•ª‚Å‚ÌCƒ\ƒ‹ƒo[‚Ì’²®‚ɂ‚¢‚Ä‚Å‚·D
  1. Ŭ‰»–â‘è‚Å‚È‚©‚È‚©‰ºŠE‚ªã‚ª‚ç‚È‚¢Dő剻–â‘è‚Å‚È‚©‚È‚©ãŠE‚ª‰º‚ª‚ç‚È‚¢

    @’莮‰»‚ª—Ç‚­‚È‚¢‰Â”\«‚à‚ ‚è‚Ü‚·‚ªC‚Æ‚è‚ ‚¦‚¸ƒ\ƒ‹ƒo[‚̃pƒ‰ƒ[ƒ^‚ð’²®‚µ‚Ă݂鉿’l‚Í‚ ‚é‚ÆŽv‚í‚ê‚Ü‚·D
  2. Å“K‰ð‚É‚±‚¾‚í‚ç‚È‚¢‚Ì‚ÅC‚È‚é‚ׂ­‚‘¬‚ÉŽ¿‚Ì—Ç‚¢‰ð‚ª‚Ù‚µ‚¢

    @ƒ\ƒ‹ƒo[‚̃pƒ‰ƒ[ƒ^‚ð’²®‚·‚é‚Ì‚ªŽè‚ÁŽæ‚è‘‚¢‚ÆŽv‚í‚ê‚Ü‚·D
  3. ŒvŽZŽžŠÔ‚ð§ŒÀ‚µ‚ÄC•ªŽ}ŒÀ’è–@‚ðŽ©“®“I‚É’âŽ~‚·‚é‚悤‚É‚µ‚½‚¢

    @ˆÈ‰º‚̃Rƒ}ƒ“ƒh‚ÅC•ªŽ}ŒÀ’è–@‚ð 10000 •b‚ÅI—¹‚³‚¹‚ç‚ê‚Ü‚·D ”Žš‚ð•Ï‚¦‚邱‚Æ‚É‚æ‚è•b”‚ðŽ©—R‚ÉÝ’è‚Å‚«‚Ü‚·D
  4. ’è‚ß‚½è‡’l‚Æ“¯‚¶‚©‚æ‚è—Ç‚¢–Ú“IŠÖ”’l‚Ì‹–—e‰ð‚ªo‚½‚çC•ªŽ}ŒÀ’è–@‚ðŽ©“®“I‚É’âŽ~‚·‚é‚悤‚É‚µ‚½‚¢

    @—p“r‚É‚æ‚Á‚Ä‚ÍCƒ†[ƒU[‚ª’è‚ß‚½è‡’l‚Æ“¯‚¶‚©‚æ‚è—Ç‚¢–Ú“IŠÖ”’liŬ‰»–â‘è‚Å‚Í臒lˆÈ‰ºCő剻–â‘è‚Å‚Í臒lˆÈãj‚ðŽ‚‹–—e‰ð‚ª“¾‚ç‚ê‚ê‚Î\•ª‚Èꇂª‚ ‚è‚Ü‚·D ˆÈ‰º‚̃Rƒ}ƒ“ƒh‚ÅC’è‚ß‚½è‡’l‚Æ“¯‚¶‚©‚æ‚è—Ç‚¢–Ú“IŠÖ”’l‚Ì‹–—e‰ð‚ªo‚½‚çC•ªŽ}ŒÀ’è–@‚ðŽ©“®“I‚É’âŽ~‚·‚é‚悤‚É‚Å‚«‚Ü‚·D ˆÈ‰º‚Å‚Í臒l‚ð 200 ‚Æ‚µ‚Äà–¾‚µ‚Ü‚·‚ªC”Žš‚ð•Ï‚¦‚邱‚Æ‚É‚æ‚è臒l‚ÍŽ©—R‚ÉÝ’è‚Å‚«‚Ü‚·D
  5. ‹–—e‰ð‚ð—^‚¦‚½ó‘Ô‚Å•ªŽ}ŒÀ’è–@‚ðƒXƒ^[ƒg‚µ‚½‚¢

    @iŽ¿‚Ì—Ç‚¢j‹–—e‰ð‚ð—^‚¦‚邱‚Æ‚É‚æ‚èC•ªŽ}ŒÀ’è–@‚Ì‚‘¬‰»‚ð‚Ë‚ç‚¢‚Ü‚·D “Á‚ÉC‹–—e‰ð‚ªŒ©‚‚©‚è‚É‚­‚¢–â‘è‚Å‚ÍŒvŽZŽžŠÔ‚Ì’Zk‚ªŠú‘Ò‚Å‚«‚Ü‚·D
  6. ƒ\ƒ‹ƒo[‚ðƒqƒ…[ƒŠƒXƒeƒBƒNƒX‚Æ‚µ‚ÄŽg‚¢‚½‚¢

    @ã‹L‚ÌuÅ“K‰ð‚É‚±‚¾‚í‚ç‚È‚¢‚Ì‚ÅC‚È‚é‚ׂ­‚‘¬‚ÉŽ¿‚Ì—Ç‚¢‰ð‚ª‚Ù‚µ‚¢vuŒvŽZŽžŠÔ‚ð§ŒÀ‚µ‚ÄC•ªŽ}ŒÀ’è–@‚ðŽ©“®“I‚É’âŽ~‚·‚é‚悤‚É‚µ‚½‚¢vu’è‚ß‚½è‡’l‚Æ“¯‚¶‚©‚æ‚è—Ç‚¢–Ú“IŠÖ”’l‚Ì‹–—e‰ð‚ªo‚½‚çC•ªŽ}ŒÀ’è–@‚ðŽ©“®“I‚É’âŽ~‚·‚é‚悤‚É‚µ‚½‚¢vu‹–—e‰ð‚ð—^‚¦‚½ó‘Ô‚Å•ªŽ}ŒÀ’è–@‚ðƒXƒ^[ƒg‚µ‚½‚¢v‚ð‘g‚݇‚킹‚ÄŽg‚¤‚Æ—Ç‚¢‚ÆŽv‚í‚ê‚Ü‚·D
  7. •ªŽ}‡˜‚ðŽè“®‚ÅŽw’肵‚½‚¢

    @ŋ߂̃\ƒ‹ƒo[‚Í‚©‚Ȃ茫‚­‚È‚Á‚Ä‚¢‚é‚Ì‚ÅCƒfƒtƒHƒ‹ƒg‚Ì•ªŽ}‡˜‚Í‚©‚È‚è‚‘¬‚Å‚·D Žèì‹Æ‚É‚æ‚镪Ž}‡˜‚Ì’²®‚É‘½‚­‚ÌŽžŠÔ‚ðŠ|‚¯‚邱‚Æ‚Í‚ ‚܂肨‚·‚·‚ß‚µ‚Ü‚¹‚ñD ‚½‚¾‚µC“Á’è‚Ì•Ï”‚ðŒÅ’è‚·‚é‚Æ–â‘肪’˜‚µ‚­¬‚³‚­‚È‚é‚È‚ÇC–â‘è\‘¢‚ðÚ‚µ‚­’m‚Á‚Ä‚¢‚éꇂɂ͕ªŽ}‡˜‚ÌŽè“®Žw’肪—LŒø‚Èê‡‚à‚ ‚è‚Ü‚·D
  8. •À—ñ•ªŽ}ŒÀ’è–@‚ŃXƒŒƒbƒh”‚ðŽw’肵‚½‚¢

    @•À—ñ•ªŽ}ŒÀ’è–@‚ªŽÀ‘•‚³‚ê‚Ä‚¢‚éƒ\ƒ‹ƒo[‚Å‚ÍCƒ}ƒ‹ƒ`ƒRƒA CPU ‚Ì—˜“_‚𶂩‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·D ‚ ‚é‚¢‚ÍC‘¼‚̃^ƒXƒN‚̎ז‚‚ð‚µ‚È‚¢‚悤‚ɃXƒŒƒbƒh”‚ðŒ¸‚ç‚·‚±‚Æ‚à‰Â”\‚Å‚·D
  9. •À—ñ•ªŽ}ŒÀ’è–@‚É‚¨‚¢‚ÄCƒXƒŒƒbƒh”‚ð‘‚₵‚½‚ç’x‚­‚È‚Á‚Ä‚µ‚Ü‚Á‚½

    @ƒXƒŒƒbƒh”‚ð‘‚₵‚Ä‚à’x‚­‚È‚éꇂ͂ ‚è‚Ü‚·D ŽQl•¶Œ£ 4 ‚Ì} 4 ‚ªÚ‚µ‚¢‚Å‚·D ‚Å‚·‚ªC—Ⴆ‚Î 1 ƒXƒŒƒbƒh‚Æ 16 ƒXƒŒƒbƒh‚­‚ç‚¢‚¾‚Æ‚»‚ê‚È‚è‚ɈႢ‚ªo‚Ä‚­‚é‚悤‚Å‚·D u•À—ñ•ªŽ}ŒÀ’è–@‚ŃXƒŒƒbƒh”‚ðŽw’肵‚½‚¢v‚Ì€‚àŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
  10. ƒ\ƒ‹ƒo[‚̃IƒvƒVƒ‡ƒ“ A ‚Ì‚Ý‚ðƒIƒ“‚É‚µ‚½‚çŒvŽZ‚ª‘¬‚­‚È‚èCƒIƒvƒVƒ‡ƒ“ B ‚Ì‚Ý‚ðƒIƒ“‚É‚µ‚½‚çŒvŽZ‚ª‘¬‚­‚È‚Á‚½‚Ì‚ÅCƒIƒvƒVƒ‡ƒ“ A ‚Æ B ‚𗼕ûƒIƒ“‚É‚µ‚½‚Æ‚±‚ëŒvŽZ‚ª’x‚­‚È‚Á‚Ä‚µ‚Ü‚Á‚½

    @‚»‚¤‚¢‚¤‚±‚Æ‚Í‚µ‚΂µ‚΂ ‚è‚Ü‚·D
  11. ŒvŽZ‚ðˆê“x’†’f‚µ‚Ä‚©‚çÄŠJ‚µ‚½‚çC’†’f‚µ‚È‚¢ê‡‚ÆŒvŽZ‰ß’ö‚ªˆÙ‚È‚Á‚½

    @ƒ\ƒ‹ƒo[‚É‚æ‚Á‚Ä‚ÍC‚»‚¤‚¢‚¤‚±‚Æ‚ª‚ ‚è‚Ü‚·D
  12. ŒvŽZŽžŠÔ‚ð§ŒÀ‚µ‚½‚çC§ŒÀ‚µ‚È‚¢ê‡‚ÆŒvŽZ‰ß’ö‚ªˆÙ‚È‚Á‚½

    @ƒ\ƒ‹ƒo[‚É‚æ‚Á‚Ä‚ÍCŒvŽZŽžŠÔ‚ÌãŒÀ‚ðŽw’è‚·‚é‚ÆC‚»‚ÌãŒÀ‚ɋ߂¢‚Ä‚àÅ“K«ƒMƒƒƒbƒv‚ª‘å‚«‚¢‚Æ‚«iŒvŽZ‚ªÅŒã‚Ü‚ÅI—¹‚µ‚È‚»‚¤‚È‚Æ‚«j‚É‹–—e‰ð‚Ì”­Œ©‚ð—Dæ‚·‚郂[ƒh‚ÉØ‚è‘Ö‚í‚é‚à‚Ì‚ª‚ ‚é‚悤‚Å‚·D
  13. üŒ`Å“K‰»–â‘è‚ð•¡”‰ñ‰ð‚¢‚Ä‚Ý‚½‚çCÅ“K‰ð‚ªˆÙ‚È‚Á‚½

    @ƒ\ƒ‹ƒo[‚É‚æ‚Á‚Ä‚ÍCƒ}ƒ‹ƒ`ƒXƒŒƒbƒh‚ÅüŒ`Å“K‰»–â‘è‚ð‰ð‚­‚ÆC•¡”‚̃Aƒ‹ƒSƒŠƒYƒ€i’P‘Ì–@‚â“à“_–@j‚ð—p‚¢‚ÄŒvŽZ‚µˆê”Ô‘¬‚­I—¹‚µ‚½‚à‚Ì‚ðo—Í‚µ‚Ü‚·D ‚±‚Ì‚½‚ßC‹H‚ȃP[ƒX‚Å‚·‚ªCƒAƒ‹ƒSƒŠƒYƒ€ŠÔ‚ÌŒvŽZŽžŠÔ‚Ì·ˆÙ‚ª”÷¬‚È‚Æ‚«‚ÍŽŽs‚²‚ƂɈقȂéÅ“K‰ð‚ªo‚é‰Â”\«‚ª‚ ‚é‚悤‚Å‚·D
–ÚŽŸ‚Ö–ß‚é
  1. ƒ\ƒ‹ƒo[‚ð‚à‚Á‚Æ•Ö—˜‚ÉŽg‚¢‚½‚¢

@ƒ\ƒ‹ƒo[‚Ì•Ö—˜‚È‹@”\‚ÌЉî‚ð‚µ‚Ü‚·D
  1. ƒ\ƒ‹ƒo[‚ª‘Oˆ—‚ð‚µ‚½ LP ƒtƒ@ƒCƒ‹‚ðŒ©‚½‚¢

    @‚¢‚­‚‚©‚̃\ƒ‹ƒo[‚Å‚ÍCƒ\ƒ‹ƒo[‚ª‘Oˆ—‚µ‚½Œã‚Ì LP ƒtƒ@ƒCƒ‹‚ðŒ©‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·D
  2. ‚ǂ̂悤‚É•ªŽ}ŒÀ’è–@‚ªi‚ñ‚Å‚¢‚é‚©‚ðÚׂɊώ@‚µ‚½‚¢

    @•ªŽ}ŒÀ’è–@‚̉Ž‹‰»‚ðs‚¤Û‚È‚Ç‚ÍCƒm[ƒhŠÔ‚ÌŠÖŒW‚ª•K—v‚É‚È‚è‚Ü‚·D
  3. ®”•Ï”‚Ì’l‚ªˆÙ‚È‚éÅ“K‰ð‚̌”‚𔂦‚½‚¢

    @Œ´—“I‚ɂ͉”\‚Å‚·D ‚Å‚·‚ªCÅ“K‰ð‚̌”‚Í–â‘è‚É‚æ‚Á‚Ä‚Í”ñí‚É‘½‚­‚Ȃ肦‚Ü‚·D “Á‚ÉC•Ï”ŠÔ‚É‘ÎÌ«‚ª‚ ‚éꇂɂ͗eˆÕ‚É”ñŒ»ŽÀ“I‚È”‚É‚È‚è‚Ü‚·iŽ–ŽÀã—ñ‹“‚µ‚«‚ê‚È‚¢jD ‚µ‚½‚ª‚Á‚ÄC¬‚³‚È–â‘è‚©‚玎‚·‚Ì‚ª“¾ô‚Å‚·D
  4. ƒƒOƒtƒ@ƒCƒ‹‚Ìo—Íæ‚ð•ÏX‚µ‚½‚¢

    @•¡”‚Ì–â‘è‚ð‰ð‚­ê‡‚É‚ÍCƒƒOƒtƒ@ƒCƒ‹‚𕪂¯‚Ä‚¨‚­‚Æ•Ö—˜‚Å‚·D
  5. •¡”‚Ì–â‘è‚ðŽ©“®“I‚É‰ð‚©‚¹‚½‚¢

    @‚¢‚­‚‚©‚Ì•û–@‚ª‚ ‚è‚Ü‚·‚ªC‚Æ‚è‚ ‚¦‚¸ OS ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“iWindows ‚Ìꇂ̓Rƒ}ƒ“ƒhƒvƒƒ“ƒvƒgj‚ð—p‚¢‚ħŒä‚·‚é•û–@‚ðЉ‚Ü‚·D
  6. •¡”‚Ì–â‘èŠÔ‚Åî•ñ‚ð‚â‚è‚Ƃ肵‚½‚¢D‘¼‚̃vƒƒOƒ‰ƒ€‚ƘAŒg‚µ‚½‚¢

    @LP ƒtƒ@ƒCƒ‹‚ðƒRƒ}ƒ“ƒhƒ‰ƒCƒ“EƒCƒ“ƒ^[ƒtƒF[ƒX‚Å‰ð‚­•û–@‚ÍCÅ‚à’Pƒ‚È•û–@‚Å‚·D —ñ¶¬–@‚È‚ÇC•¡”‚Ì–â‘è‚ÌŠÔ‚Åî•ñ‚ð‚â‚è‚Æ‚è‚·‚é•K—v‚ª‚ ‚éꇂɂÍCƒ\ƒ‹ƒo[‚Ì API ‚È‚Ç‚ð—p‚¢‚é‚Ì‚ª“¾ô‚Å‚·D Šeƒ\ƒ‹ƒo[‚̃}ƒjƒ…ƒAƒ‹‚¨‚æ‚уTƒ“ƒvƒ‹ƒtƒ@ƒCƒ‹‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
  7. ŒvŽZ‚ð’†’f‚·‚邱‚Æ‚È‚­CŽb’è‰ð‚»‚Ì‚à‚Ì‚ðŽ©“®“I‚É‹L˜^‚µ‚½‚¢

    @—p“r‚É‚æ‚Á‚Ä‚ÍCÅ“K‰ðˆÈŠO‚̉ð‚àŒ©‚½‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·D
  8. •ÏX‚µ‚½ƒpƒ‰ƒ[ƒ^Ý’è‚ð•\Ž¦E•Û‘¶E•œŒ³‚µ‚½‚¢

    @ƒ\ƒ‹ƒo[‚Ì•ÏX‚µ‚½ƒpƒ‰ƒ[ƒ^Ý’è‚ð•\Ž¦E•Û‘¶‚·‚é•û–@‚Å‚·D
  9. –â‘è‚Ì“Œvî•ñ‚ªŒ©‚½‚¢

    @“Ç‚Ýž‚ñ‚¾–â‘è‚ɂ‚¢‚ÄC•Ï”‚̌”‚⧖ñŽ®‚Ì–{”‚ð•\Ž¦‚Å‚«‚Ü‚·D
  10. —^‚¦‚½®”Å“K‰»–â‘è‚̘A‘±ŠÉ˜a–â‘è‚𓾂½‚¢

    @“Ç‚Ýž‚ñ‚¾®”Å“K‰»–â‘è‚ɂ‚¢‚ÄC‚»‚̘A‘±ŠÉ˜a–â‘èi®”§–ñ‚ðŽæ‚蜂¢‚½–â‘èj‚ðo—Í‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·D
  11. —^‚¦‚½üŒ`Å“K‰»–â‘è‚Ì‘o‘Ζâ‘è‚𓾂½‚¢

    @“Ç‚Ýž‚ñ‚¾üŒ`Å“K‰»–â‘è‚ɂ‚¢‚ÄC‚»‚Ì‘o‘Ζâ‘è‚ðo—Í‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·D
  12. [CPLEX]@Žb’è‰ð‚ª“¾‚ç‚ꂽ‚Æ‚«‚ÌŒo‰ßŽžŠÔ‚ðŽ©“®“I‚É‹L˜^‚µ‚½‚¢

    @CPLEX 12.5 ‚©‚çŠÈ’P‚É‚È‚Á‚Ä‚¢‚Ü‚·D Interactive Optimizer ‚Å‚ÍCuset mip display 3vi‚ ‚é‚¢‚Íuset mip display 4vj‚Æ‚µ‚Ä•ªŽ}ŒÀ’è–@‚ðŽÀs‚µ‚Ä‚­‚¾‚³‚¢D
  13. [CPLEX]@Benders •ª‰ð‚ðs‚¢‚½‚¢

    @¬‡®”Å“K‰»–â‘è‚ð‰ð‚­Û‚ÉCBenders •ª‰ð–@‚ð—p‚¢‚邱‚Æ‚ª‚Å‚«‚Ü‚·D ˆê•”‚Ì–â‘è‚Å‚ÍŒø‰Ê‚ªŠú‘Ò‚Å‚«‚Ü‚·D Interactive Optimizer ‚Å‚ÍCuset benders strategy 3v‚Æ‚µ‚Ä–â‘è‚ð‰ð‚­‚ÆC‘S‚Ä‚Ì®”•Ï”‚̓}ƒXƒ^[–â‘è‚ÖC‘S‚Ă̘A‘±•Ï”‚̓Tƒu–â‘è‚Ö‚Æ•ªŠ„‚³‚ê‚Ä Benders •ª‰ð–@‚ªŽÀs‚³‚ê‚Ü‚·D ‚Ü‚½Cƒ†[ƒU[Ž©g‚Å–â‘è‚Ì•ªŠ„‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·D Ú‚µ‚­‚̓}ƒjƒ…ƒAƒ‹‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
–ÚŽŸ‚Ö–ß‚é
  1. ’莮‰»‚ɂ‚¢‚Ä

@’莮‰»‚ÉŠÖ‚µ‚ÄC‚æ‚­‚ ‚鎿–â‚ð‹LÚ‚µ‚Ü‚·D
  1. ŽÀÛ‚ÌŒ»ê‚Å‚ÍŽg‚¦‚È‚¢‚悤‚È“š‚¦‚ªo‚Ä‚­‚é

    @o‚Ä‚«‚½‰ð‚ª‹Lq‚µ‚½§–ñðŒ‚ð‘S‚Ä–ž‚½‚µ‚Ä‚¢‚é‚È‚ç‚ÎCƒ\ƒ‹ƒo[‚⮔œK‰»Ž©‘Ì‚Ì–â‘è‚Æ‚¢‚¤‚æ‚è‚ÍCŒ»ŽÀ‚̧–ñðŒ‚ª‘S‚ħ–ñŽ®‚Æ‚µ‚Ä•\Œ»‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚É‚æ‚é‚à‚Ì‚Å‚·D lŠÔ‚ªˆÃ–Ù‚Ì‚¤‚¿‚ɉ¼’肵‚Ä‚¢‚邪C–¾Ž¦“I‚É‘‚¢‚Ä‚¢‚È‚¢§–ñŽ®‚Í‚È‚¢‚©‚Ç‚¤‚©ƒ`ƒFƒbƒN‚µ‚Ä‚­‚¾‚³‚¢D
  2. üŒ`Ž®‚Å‘‚¯‚È‚¢‚ÆŽv‚í‚ê‚駖ñðŒ‚Ü‚½‚Í–Ú“IŠÖ”‚ª‚ ‚é

    @â‘Î’l‚â max ‰‰ŽZŽq‚È‚ÇCˆêŒ©‚µ‚ÄüŒ`Ž®‚Å•\‚¹‚È‚³‚»‚¤‚ÈꇂłàC•â••Ï”‚Ȃǂ𓱓ü‚µ‚Ē莮‰»‚Å‚«‚邱‚Æ‚ª‚ ‚è‚Ü‚·D ŽQl•¶Œ£ 1 ‚ÉC“ú–{Œê‚Å‚æ‚­‚Ü‚Æ‚Ü‚Á‚½î•ñ‚ª‚ ‚è‚Ü‚·D
  3. 0-1 •Ï” x, y ‚ɑ΂µ‚ÄCuz = x * yv‚ɑΉž‚·‚é 0-1 •Ï” z ‚ðŽg‚¢‚½‚¢

    @z >= x + y - 1, z <= x, z <= y ‚Ì 3 –{‚Ì•s“™Ž®‚¨‚æ‚Ñ x, y, z ‚ÉŠÖ‚·‚é 0-1 §–ñ‚É‚æ‚è•\Œ»‚Å‚«‚Ü‚·i‘¼‚Ì‘‚«•û‚à‚ ‚è‚Ü‚·DŽQl•¶Œ£ 14 ‚È‚Ç‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢jD ‚±‚ÌŽí‚̒莮‰»‚̃eƒNƒjƒbƒN‚ÍCŽQl•¶Œ£ 1 ‚É‚Ü‚Æ‚ß‚ç‚ê‚Ä‚¢‚Ü‚·D
    @ˆê•û‚ÅC0-1 •Ï”‚ÌꇂɂÍCx * y ‚Æ‚¢‚¤•\Œ»‚ð’¼ÚŽó‚¯‚‚¯‚邱‚Æ‚Ì‚Å‚«‚éƒ\ƒ‹ƒo[‚à‚ ‚é‚悤‚Å‚·D ‚µ‚©‚µCŠÉ˜a–â‘肪ŠÉ‚­‚È‚é‚悤‚È•ÏŒ`‚ð—p‚¢‚Ä x * y ‚ðˆµ‚¦‚é‚悤‚É‚µ‚Ä‚¢‚邱‚Æ‚ª‘½‚¢‚½‚ßCƒ\ƒ‹ƒo[‚ªŽó‚¯‚‚¯‚Ä‚¢‚é‚Æ‚µ‚Ä‚àCã‹L‚Ì•s“™Ž® 3 –{‚É‚æ‚é•\Œ»‚ðŽŽ‚µ‚Ă݂鉿’l‚Í‚ ‚è‚Ü‚·D
  4. §–ñŽ®‚𑼂̕ϔ‚ɉž‚¶‚ăIƒ“EƒIƒt‚µ‚½‚¢Du‚à‚µ~~‚È‚ç‚΢¢v‚Æ‚¢‚¤‚悤‚ȧ–ñŽ®‚ª‘‚«‚½‚¢

    @Big-M –@‚ƌĂ΂ê‚é•û–@‚ðŽg‚¢‚Ü‚·D —Ⴆ‚ÎC0-1 •Ï” z ‚Æ”ñ•‰‚̘A‘±•Ï” x ‚ɑ΂µ‚ÄCz = 0 ‚ÌŽž‚Éux = 0v‚Æ‚¢‚¤§–ñŽ®‚ð“ü‚êCz = 1 ‚ÌŽž‚É‚»‚̧–ñŽ®‚𖳌ø‚É‚µ‚½‚¢‚Æ‚µ‚Ü‚·D ”ñ•‰‚̘A‘±•Ï” x ‚ÌãŠE‚ª³‚Ìi‘å‚«‚Èj’è” M ‚¾‚Ɖ½‚ç‚©‚Ì——R‚Å‚í‚©‚Á‚Ä‚¢‚éê‡Cx <= M * z ‚Æ‚·‚邱‚Æ‚ÅCã‹L‚ð’B¬‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·D ‚È‚¨C’莮‰»‚ÌÛ‚ÉCM ‚Ì’l‚Í‹–‚³‚ê‚é”͈͂łȂé‚ׂ­¬‚³‚­‚µ‚½•û‚ªŒvŽZ‚ª‚‘¬‚É‚È‚è‚Ü‚·D Ú‚µ‚­‚Í ŽQl•¶Œ£ 1 ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D ‚½‚¾‚µCbig-M –@‚ð 1 ‚‚̖â‘è‚Ì’†‚Å‘½—p‚·‚邱‚Æ‚ÍŒvŽZ‘¬“x‚ð—Ž‚Æ‚·Œ´ˆö‚É‚È‚é‚Ì‚ÅCbig-M –@‚ðŽg‚í‚È‚¢‚Œ莮‰»‚Å‚«‚éꇂ͂»‚¿‚ç‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·D
    @‚Ü‚½CSpecial Ordered Set type 1 (SOS type 1) §–ñ‚ªŽg‚¦‚éƒ\ƒ‹ƒo[‚Ìê‡Cx <= M * z ‚Æ‘‚­‚©‚í‚è‚ÉCSOS type 1 §–ñ‚Å x ‚Æ z' ‚ðƒƒ“ƒo[‚É“ü‚ê‚邱‚Æ‚ÅC“¯—l‚̧–ñ‚Æ‚È‚è‚Ü‚·F‚±‚±‚Å z' ‚Í z + z' = 1 ‚Æ‚È‚é 0-1 •Ï”‚Å‚·D
    @‚³‚ç‚ÉC“ñŽŸ§–ñ‚ªŽg‚¦‚éƒ\ƒ‹ƒo[‚Å‚Í”ñ•‰‚̘A‘±•Ï” y ‚ɑ΂µ x^2 <= y * z ‚Æ‚¢‚¤“ñŽŸ§–ñŽ®‚Å x <= M * z ‚Æ“¯—l‚̧–ñ‚ð•\‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·D ‚±‚ê‚Í perspective Ē莮‰» (perspective reformulation) ‚ƌĂ΂ê‚éƒeƒNƒjƒbƒN‚̈êŽí‚Å‚·D Perspective Ē莮‰»‚ÌÚׂÍC—Ⴆ‚Î ŽQl•¶Œ£ 20 ‚ð‚¨“Ç‚Ý‚­‚¾‚³‚¢D @‚È‚¨CuA ‚Ü‚½‚Í Bv‚Æ‚¢‚¤‚悤‚ȧ–ñŽ®‚ð‘‚«‚½‚¢ê‡‚É‚ÍCdisjunctive constrainti—£Ú§–ñj‚ð—p‚¢‚Ē莮‰»‚·‚é•û–@‚à‚ ‚è‚Ü‚·D —£Ú§–ñ‚ðˆµ‚¤‚悤‚È–â‘è‚Í disjunctive programming ‚ƌĂ΂ê‚Ä‚¢‚Ü‚·D Ú‚µ‚­‚Í ŽQl•¶Œ£ 16CŽQl•¶Œ£ 21 ‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
  5. •Ï”‚̌”‚ª­‚È‚¢–â‘è‚È‚Ì‚É‰ð‚¯‚È‚¢D•Ï”‚̌”‚ª­‚È‚¢’莮‰»‚É•Ï‚¦‚½‚ç’x‚­‚È‚Á‚½

    @•Ï”‚ª­‚È‚¢i‚ ‚é‚¢‚ͧ–ñŽ®‚ª­‚È‚¢j–â‘è‚ ‚é‚¢‚͒莮‰»‚ªC•K‚¸‚µ‚àŒvŽZŽžŠÔ‚ª’Z‚¢‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñD ‚ǂ̂悤‚Ȓ莮‰»‚ª—Ç‚¢’莮‰»ià‚‘¬‚É‰ð‚¯‚é’莮‰»j‚É‚È‚é‚©‚̓P[ƒXƒoƒCƒP[ƒX‚Å‚·‚ªCˆê”Ê“I‚É‚ÍuüŒ`ŠÉ˜a–â‘è‚ÌÅ“K’l‚Æ®”Å“K‰»–â‘è‚ÌÅ“K’l‚̘¨—£‚ª¬‚³‚¢v’莮‰»‚ª—Ç‚¢’莮‰»‚ɂȂ邱‚Æ‚ª‘½‚¢‚Å‚·D ‚½‚¾‚µƒxƒXƒg‚ðs‚­‚µ‚Ä‚àC‚ ‚Ü‚è‚É‚à•Ï”‚ª‘½‚¢–â‘è‚⮔œK‰»‚ÉŒü‚¢‚Ä‚¢‚È‚¢–â‘è‚Í‰ð‚­‚Ì‚ª“‚¢‚Ì‚àŽ–ŽÀ‚Å‚·D
    —áF¬‚³‚¢‚̂ɓ‚¢–â‘è‚Ì LP ƒtƒ@ƒCƒ‹ iMIPLIB 2017 ‚Ì pb-market-split8-70-4jD 0-1 •Ï” 71 ŒÂC§–ñŽ® 17 –{‚̬‚³‚È–â‘è‚Å‚·‚ªi–{Ž¿“I‚É‚Í 0-1 •Ï” 70 ŒÂC“™Ž®ƒiƒbƒvƒTƒbƒN§–ñ 8 –{‚Ì‹–—e«”»’è–â‘èjC2023 ”N 11 ŒŽ‚Ü‚Å‹–—e‰ð‚ªˆê‚Â‚àŒ©‚‚©‚Á‚Ä‚¨‚炸C‚Ü‚½•s”\‚Å‚ ‚邱‚Æ‚àØ–¾‚³‚ê‚Ä‚¢‚Ü‚¹‚ñ‚Å‚µ‚½D Œ»Ý‚Í‹–—e‰ði‚©‚ÂÅ“K‰ðj‚ª”­Œ©‚³‚ê‚Ä‚¢‚Ü‚·i ŽQl•¶Œ£ 23 jD
  6. üŒ`‚â“ñŽŸ‚Å‚È‚¢–Ú“IŠÖ”‚ðˆµ‚¢‚½‚¢

    @‘½€Ž®ŠÖ”‚ð’¼Úˆµ‚¦‚È‚¢ƒ\ƒ‹ƒo[‚Å‚àC“Ê“ñŽŸ§–ñ‚ðˆµ‚¦‚éꇂ͈ȉº‚̂悤‚ȃgƒŠƒbƒN‚ÅŽŸ”‚ðã‚°‚邱‚Æ‚ª‚Å‚«‚Ü‚·D §–ñŽ®‚Å x^2 <= y ‚©‚ y^2 <= z ‚Æ‚µCz ‚ðŬ‰»‚·‚ê‚Î x ‚Ì 4 æ‚ðŬ‰»‚µ‚Ä‚¢‚邱‚Æ‚Æ“™‰¿‚Å‚·iLP ƒtƒ@ƒCƒ‹‚ÌŒ`Ž®‚Å‚Í - y + [ x^2 ] <= 0 ‚©‚ - z + [ y^2 ] <= 0jD ‚Ü‚½C“ñŽŸ§–ñ‚ðˆµ‚¦‚éƒ\ƒ‹ƒo[‚Å‚ÍC”ñ•‰•Ï” x, s, t ‚ɑ΂µ x^2 <= s * t ‚©‚ s^2 <= x ‚Æ‚µCt ‚ðŬ‰»‚·‚ê‚Î x ‚Ì 1.5 æ‚ðŬ‰»‚µ‚Ä‚¢‚邱‚Æ‚Æ“™‰¿‚Å‚·iLP ƒtƒ@ƒCƒ‹‚ÌŒ`Ž®‚Å‚Í [ x^2 - s * t ] <= 0 ‚©‚ - x + [ s^2 ] <= 0jD ‚±‚ÌŽí‚̃eƒNƒjƒbƒN‚ÍCŽQl•¶Œ£ 22 ‚É‚Ü‚Æ‚ß‚ç‚ê‚Ä‚¢‚Ü‚·D
–ÚŽŸ‚Ö–ß‚é
  1. ‚»‚Ì‘¼‚Ìî•ñ

@‚»‚Ì‘¼C–ð‚É—§‚ƒŠƒ“ƒNæ‚È‚Ç‚Ìî•ñ‚ð‚Ü‚Æ‚ß‚Ä‚¨‚«‚Ü‚·D
  1. ®”Å“K‰»–â‘è‚̃xƒ“ƒ`ƒ}[ƒN–â‘èW‚ª’m‚肽‚¢

    @‚¢‚­‚‚©‚ ‚è‚Ü‚·‚ªC—L–¼‚È‚Ì‚Í MIPLIB (Mixed Integer Programming LIBrary) ‚Å‚·D Œ»Žž“_‚Å‚Í MIPLIB 2017 ( ŽQl•¶Œ£ 19, https://miplib.zib.de/ ) ‚ªÅVƒo[ƒWƒ‡ƒ“‚Å‚·D ­‚µ‘O‚Ü‚Å‚Í MIPLIB 2010 ( ŽQl•¶Œ£ 4, https://miplib2010.zib.de/ ) ‚ª‚æ‚­—p‚¢‚ç‚ê‚Ä‚¢‚Ü‚µ‚½D
  2. ¤—pƒ\ƒ‹ƒo[‚Æ”ñ¤—pƒ\ƒ‹ƒo[‚ÍŒvŽZŽžŠÔ‚ª‚Ç‚Ì’ö“xˆÙ‚È‚é‚Ì‚©

    @Œ»Žž“_‚Å‚ÍCÅ‚‘¬‚̤—pƒ\ƒ‹ƒo[‚ÆÅ‚‘¬‚Ì”ñ¤—pƒ\ƒ‹ƒo[‚Æ‚ð”äŠr‚·‚é‚ÆC‘OŽÒ‚Ì•û‚ª‚©‚È‚è‚‘¬‚Å‚·D Hans Mittelmann ‚̃xƒ“ƒ`ƒ}[ƒNƒTƒCƒgi https://plato.asu.edu/bench.html j‚É‚æ‚é‚ÆC2 ŽžŠÔˆÈ“à‚Å‰ð‚¯‚éŠÈ’P‚È–â‘è‚ÅC10 ”{‹ß‚¢‘¬“x·‚ª‚ ‚é‚悤‚Å‚·D ‚³‚ç‚ÉC“‚¢–â‘è‚قǃ\ƒ‹ƒo[‚Ì«”\·‚ªŒ°’˜‚ÉŒ»‚ê‚Ü‚·i”•ª‚Æ”ŽžŠÔC‚ ‚é‚¢‚Í”ŽžŠÔ‚Æ”“ú‚Æ‚¢‚¤‚悤‚ȃP[ƒX‚à‹H‚Å‚Í‚ ‚è‚Ü‚¹‚ñjD
  3. ‚ǂ̤—pƒ\ƒ‹ƒo[‚ª‘¬‚¢‚Ì‚©

    @–â‘è‚É‚æ‚Á‚ă\ƒ‹ƒo[ A ‚Ì•û‚ª‘¬‚©‚Á‚½‚èCƒ\ƒ‹ƒo[ B ‚Ì•û‚ª‘¬‚©‚Á‚½‚è‚Æ‚¢‚¤‚±‚Æ‚ª‚ ‚è‚Ü‚·D ‚È‚Ì‚ÅC‚ǂ̃\ƒ‹ƒo[‚ª‘¬‚¢‚Ì‚©‚Æ‚¢‚¤‚Ì‚Í“Œv“I‚ÉŒ©‚邵‚©‚È‚¢‚±‚Æ‚É‚²’ˆÓ‚­‚¾‚³‚¢D ƒ\ƒ‹ƒo[•Ê‚̃xƒ“ƒ`ƒ}[ƒNŒ‹‰Ê‚ɂ‚¢‚Ä‚ÍCHans Mittelmann ‚̃xƒ“ƒ`ƒ}[ƒNƒTƒCƒgi https://plato.asu.edu/bench.html j‚ª—L–¼‚Å‚·D ‚È‚¨CŒ»Ý‚͈ꕔ‚̤—pƒ\ƒ‹ƒo[‚ɂ‚¢‚ÄCƒxƒ“ƒ`ƒ}[ƒNŒ‹‰Ê‚ÌŒfÚ‚ð’âŽ~‚µ‚Ä‚¢‚é‚悤‚Å‚·iŒÃ‚¢Œ‹‰Ê‚ÍŽc‚Á‚Ä‚¢‚Ü‚·jD
  4. ¤—pƒ\ƒ‹ƒo[‚ðŽŽ‚µ‚Ä‚Ý‚½‚¢

    @‚¢‚­‚‚©‚̤—pƒ\ƒ‹ƒo[‚̃xƒ“ƒ_[‚Å‚ÍCŠeŽíƒgƒ‰ƒCƒAƒ‹ƒ‰ƒCƒZƒ“ƒX‚ð€”õ‚µ‚Ä‚¢‚Ü‚·D ‚³‚ç‚ɃAƒJƒfƒ~ƒbƒNƒ†[ƒU[‚ÌꇂÍC–³ž‚Ü‚½‚ÍŠiˆÀƒ‰ƒCƒZƒ“ƒX‚ª’ñ‹Ÿ‚³‚ê‚Ä‚¢‚邱‚Æ‚à‚ ‚è‚Ü‚·D ‚È‚¨C¤—pƒ\ƒ‹ƒo[‚̓o[ƒWƒ‡ƒ“ƒAƒbƒvŽž‚É‘å•‚É«”\‚ªŒüサ‚Ä‚¢‚邱‚Æ‚ª‘½‚¢‚½‚ßC‚È‚é‚ׂ­ÅVƒo[ƒWƒ‡ƒ“‚ÌŽg—p‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·D
    @‚Ü‚½CNEOS ƒT[ƒo[i https://www.neos-server.org/neos/ j‚ð—p‚¢‚é‚ÆCƒAƒJƒfƒ~ƒbƒNƒ†[ƒU[‚Ìꇂ͗˜—p‹K–ñ‚͈͓̔à‚Å CPLEX ‚â Gurobi ‚Ȃǂ̤—pƒ\ƒ‹ƒo[‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·D ‚½‚¾‚µC–â‘è‚Ì‹K–Í‚âŒvŽZŽžŠÔ‚ɧŒÀ‚ª‚ ‚è‚Ü‚·D Ú‚µ‚­‚ÍCNEOS ƒT[ƒo[‚̃†[ƒU[ƒYƒKƒCƒhi https://neos-guide.org/users-guide j‚â FAQi https://neos-guide.org/content/FAQ jC‚¨‚æ‚Ñ NEOS ƒT[ƒo[‚Ì—˜—p‹K–ñi https://neos-server.org/neos/termofuse.html j‚ðŽQÆ‚µ‚Ä‚­‚¾‚³‚¢D
–ÚŽŸ‚Ö–ß‚é
‚±‚̃y[ƒW‚̃gƒbƒv‚Ö–ß‚é@@ƒgƒbƒvƒy[ƒW‚Ö–ß‚é
‹{‘ã —²•½i“Œ‹ž”_H‘åŠw HŠw•” ’m”\î•ñƒVƒXƒeƒ€HŠw‰ÈjCŒöŠJF2013”N4ŒŽCÅIXVF2024”N9ŒŽ