Upgrade to Pro — share decks privately, control downloads, hide ads and more …

メタヒューリスティクスに基づく汎用線形整数計画ソルバーの開発

Avatar for yk yk
November 23, 2024

 メタヒューリスティクスに基づく汎用線形整数計画ソルバーの開発

2024/11/22 Optimization Night #9 講演資料
https://optimization.connpass.com/event/332590/

Avatar for yk

yk

November 23, 2024
Tweet

Other Decks in Research

Transcript

  1. ໨࣍  ͸͡Ίʹ  ιϧόʔ։ൃͷഎܠɾ໨త  ΞϧΰϦζϜ֓ཁ  ઃܭɾ࣮૷ͷϙΠϯτ 

    ։ൃϓϩηε  ͓ΘΓʹ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6." 
  2. ໨࣍  ͸͡Ίʹ  ιϧόʔ։ൃͷഎܠɾ໨త  ΞϧΰϦζϜ֓ཁ  ઃܭɾ࣮૷ͷϙΠϯτ 

    ։ൃϓϩηε  ͓ΘΓʹ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6." 
  3. ͸͡Ίʹ ઢܗ੔਺ܭը໰୊ʹର͢ΔϝλώϡʔϦεςΟΫειϧόʔl13*/5&.14˞z  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  n ෼ࢬݶఆ๏ιϧόʔ͕ੑೳΛൃشͮ͠Β͍ن໛ɾߏ଄ͷઢܗ੔਺ܭը໰୊ͷΠϯελϯε ʹରͯ͠ɼྑ࣭ͳ࣮ߦՄೳղΛ୹࣌ؒͰൃݟ͢Δ͜ͱΛ໨తͱͨࣗ͠࡞ιϧόʔ n ෼ࢬݶఆ๏ιϧόʔͷੑೳΛิ׬͠ɼ࣮༻తʹʮղ͚ΔʯΠϯελϯεΛ૿΍͢ͷ͕ͶΒ͍

    n $ ϔομʔΦϯϦʔϥΠϒϥϦͱͯ͠ϞσϦϯά؀ڥͱ͋Θ࣮ͤͯ૷ɾఏڙɽ .14ϑΝΠϧΛೖྗͱͯ͠ड͚෇͚ΔελϯυΞϩϯ൛΋༻ҙ n .*5-JDFOTFͷ΋ͱΦʔϓϯιʔειϑτ΢ΣΞͱͯ͠ެ։த ˞13*/5&.141P3UBCMF*/5&HFS.BUIFNBUJDBM1SPHSBNNJOH4PMWFSͷུʜͷͭ΋ΓɽൃԻ͸ʮϓϥϯλϯʯ
  4. ͸͡Ίʹ ੑೳධՁʢ.*1-*##FODINBSL4FUʣ Ұ෦Πϯελϯεʹ͓͍ͯɼ෼ࢬݶఆ๏ιϧόʔΛิ׬͢ΔੑೳΛൃش  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ϕϯνϚʔΫηοτ .*1-*##FODINBSL4FU IUUQTNJQMJC[JCEF ७੔਺ܭըΠϯελϯεͷ୊ͷ͏ͪɼ࣮ߦෆՄೳΠϯελϯεͱFOMJHIU@IBSE˞Λআ͘୊

    ܭࢉ࣌ؒ TFD ධՁର৅ 13*/5&.14W ൺֱର৅ $#$ 4$*1 )J()4ʢ͍ͣΕ΋044෼ࢬݶఆ๏ιϧόʔʣ $#$ 4$*1 )J()4ͷͲΕΑΓ΋ ྑ͍ղΛٻΊΔ͜ͱͷͰ͖ͨΠϯελϯε ˞ɿ͍ΘΏΔʮϥΠπΞ΢τʯ໰୊ɻద౰ͳલॲཧʹΑΓ࠷దղ͕ٻ·ͬͯ͠·͏ͷͰɼώϡʔϦεςΟΫεͷੑೳධ Ձʹ͸޲͔ͳ͍ɽ
  5. ͸͡Ίʹ ੑೳධՁʢ.*1-*# 0QFOΠϯελϯε˞ʣ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  /P Πϯελϯε ໰୊λΠϓ ܾఆม਺

    ੍໿ Լք஋ ʢ࿈ଓ؇࿨ʣ ࢑ఆ஋ߋ৽ཤྺʢݱࡏ  ੨ࣈ͕ຊιϧόͰߋ৽ͨ͠࢑ఆ஋ʣ  DED ू߹ύοΩϯά      ˠˠʜˠ  TDQKTDQL ू߹ඃ෴      ˠ  TDQL ू߹ඃ෴      ˠˠʜˠ  TDQM ू߹ඃ෴      ˠˠ  TDQN ू߹ඃ෴      ˠˠʜˠ  TDQO ू߹ඃ෴       ˠˠˠʜˠ ˞ɿ࠷దੑͷূ໌ͷ͋Δղ͕ະൃݟ΋͘͠͸࣮ߦෆՄೳੑ͕ະূ໌Ͱ͋ΔΠϯελϯε IUUQTNJQMJC[JCEFJOTUBO DF@EFUBJMT@TDQKTDJQIUNM ΑΓʢʣɻ
  6.  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  minimize ! 𝑥" + 10 𝑥# subject

    to 66 𝑥" + 14 𝑥# ≥ 1430, −82 𝑥" + 28 𝑥# ≥ 1306, 𝑥", 𝑥# ∈ ℤ. n ਺ࣜϕʔεͷίʔυͰ࠷దԽ໰୊Λهड़Մೳ n ม਺ɾ੍໿ͷଟ࣍ݩఴࣈʹ΋ରԠ n ಺ੵʢ𝒄!𝒙 ʣɼ૯࿨ʢ∑! 𝑥! ʣͳͲɼසग़͢Δهड़ʹର͢Δ౶ҥߏจ΋੔උ ໰୊ྫ ͸͡Ίʹ ϞσϦϯά؀ڥ
  7.  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  <>:,PHVNB 5BCV4FBSDI#BTFE)FVSJTUJD4PMWFSGPS(FOFSBM*OUFHFS-JOFBS1SPHSBNNJOH1SPCMFNT *&&& "DDFTT WPM QQ 

    l ΞϧΰϦζϜৄࡉ l Φʔϓϯιʔε෼ࢬݶఆ๏ ιϧόʔͱͷੑೳൺֱ l ιϧόʔʹ૊ΈೖΕͨ ओཁͳ޻෉ʹؔ͢Δ "CMBUJPO4UVEZ ͓΋ͳ಺༰ ͸͡Ίʹ ؔ࿈࿦จ
  8. ໨࣍  ͸͡Ίʹ  ιϧόʔ։ൃͷഎܠɾ໨త  ΞϧΰϦζϜ֓ཁ  ઃܭɾ࣮૷ͷϙΠϯτ 

    ։ൃϓϩηε  ͓ΘΓʹ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6." 
  9. ιϧόʔ։ൃͷഎܠɾ໨త ࣮໰୊ʹର͢Δ਺ཧ࠷దԽͷద༻ϓϩηε n ܾఆม਺ɾ੍໿৚݅ɾ໨తؔ਺͕࠷ॳ͔Β֬ఆ͍ͯ͠Δέʔε͸·ͣͳ͍ n ʮղ͘Ձ஋ͷ͋Δ໰୊ʯΛ࡞ΓࠐΉʮϞσϦϯάʯ͕࠷େͷؔ໳ n ϞσϦϯάஈ֊Ͱ։ൃ͢ΔϓϩτλΠϓΞϧΰϦζϜʹ࣌ؒΛ͔͚ͨ͘ͳ͍ n ݕ౼ͷ݁Ռʮ࠷దԽ͠ͳ͍ʯͱ͍͏݁࿦ʹͳΔ͜ͱ΋े෼ʹ͋Γ͑Δ

    n ͍͔ʹͯ͠खؒΛ͔͚ͣʹղΛٻΊΔ͔ʁ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ϞσϦϯά ΞϧΰϦζϜ ઃܭɾ࣮૷ γεςϜԽ ɾӡ༻ ໰୊ղܾ ɾ࠷దԽ Ϣʔβ ΠϯλϏϡʔ ՝୊ઃఆ˞ ఆࣜԽ ϓϩτλΠϓ ΞϧΰϦζϜ ࣮૷ ࣮໰୊ ղͷධՁ ˞ɿ࠷దԽͷϢʔβɼ૝ఆܭࢉڐ༰࣌ؒɼ࣮ߦ͢ΔλΠϛϯάɾස౓ɼར༻Մೳσʔλͱͦͷෆ࣮֬ੑɼඅ༻ରޮՌɼར ӹ૬൓ͳͲͷ؍఺͔Βɼ࠷దԽͷཁ൱΍࠷దԽείʔϓΛܾఆ͢Δ͜ͱ͕ΰʔϧ
  10. ιϧόʔ։ൃͷഎܠɾ໨త खؒΛ͔͚ͣʹ࠷దԽ͍ͨ͠ͱ͖ʹ΍Δ͜ͱ n ࠷ॳʹࢼ͢͜ͱ n ʢࠞ߹ʣ੔਺ܭը໰୊ͱͯ͠ఆࣜԽͯ͠.*1ιϧόʔ˞Λద༻͢Δ n యܕ໰୊ͱͯۙ͠ࣅ͠ɼཱ֬͞ΕͨΞϧΰϦζϜΛద༻͢Δ n ൺֱతγϯϓϧͳώϡʔϦεςΟΫεΛ࣮૷ͯ͠ద༻͢Δ

    n ʢࠞ߹ʣ੔਺ܭը໰୊͕ղ͚ͳ͍ͱ͖ͷॲํᝦ n ˓໰୊ͷن໛Λॖখ͋Δ͍͸෼ׂͯ͠ղ͘ n ˓.*1ιϧόʔΛ࢖͍ͭͭɼద౰ͳܭࢉ࣌ؒͰଧͪ੾ͬͯఘΊΔ n ˚.*1ιϧόʔΛ࢖͍ͭͭɼ໰୊ߏ଄Λ׆͔ͨ͠ಛघղ๏Λߏங͢Δ n º ໰୊ಛԽͷߴੑೳώϡʔϦεςΟΫεΛ͍͖ͳΓઃܭɾ࣮૷͢Δ n ࠷దԽ͢ΔͷΛ΍Ί·͢ɼͱͳͬͨͱ͖ͷϦεΫ͕େ͖͍ n ˓.*1ιϧόʔͷ͔ΘΓʹ൚༻ώϡʔϦεςΟΫειϧόʔΛద༻͢Δ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ˞ɿຊࢿྉͰ͸ʮ.*1ιϧόʔʯͱʮ෼ࢬݶఆ๏ιϧόʔʯΛ΄΅ಉ͡ҙຯͰ࢖͍·͢ ͜ΕΛ࣮༻తͳબ୒ࢶͱͯ͠Ճ͍͑ͨʂ
  11. ιϧόʔ։ൃͷഎܠɾ໨త ઢܗ੔਺ܭը໰୊ʢ*-1ʣ n ࿈ଓม਺͸ѻ͑ͳ͍΋ͷͷɼ͞·͟·ͳ૊߹ͤ࠷దԽ໰୊ΛఆࣜԽՄೳ n Πϯελϯε͸਺஋σʔλͰදݱ͞Εɼ-1ܗࣜ΍.14ܗࣜͳͲͷඪ४తͳ ϑΝΠϧϑΥʔϚοτ͕ଘࡏ n Ұ౓ϞσϧԽ͕׬ྃ͢Ε͹ɼෳ਺ͷιϧόΛࢼ͢͜ͱ͕Ͱ͖Δ 

    0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ILP : minimize 𝒍 % 𝒙 % 𝒖 𝒂( )𝒙 = 𝑏( , 𝑖 ∈ 𝐼* , 𝒂( )𝒙 ≤ 𝑏( , 𝑖 ∈ 𝐼% , 𝑥+ ∈ ℤ, 𝑗 ∈ 𝐽 𝒄)𝒙 subject to 𝐼! :౳੍ࣜ໿৚݅ͷఴࣈू߹ɼ 𝐼" ɿෆ౳੍ࣜ໿৚݅ͷఴࣈू߹ɼ 𝐽ɿܾఆม਺ͷఴࣈू߹
  12. n -PDBM*-1<><> n ࣮ߦՄೳੑͷ୳ࡧʢ4FBSDIʣɼ໨తؔ਺஋ͷվળʢ*NQSPWFʣɾղͷम ਖ਼ʢ3FTUPSFʣͷͭͷϞʔυΛભҠ͢Δɼہॴ୳ࡧ๏ʹجͮ͘ιϧόʔ n .*1-*#ͷ0QFOΠϯελϯεͷ࢑ఆղΛۙ೥ଟ਺ߋ৽ n .*1 ରԠ൛ͷ-PDBM.*1΋ଘࡏ

    n (1--JDFOTF n #BSZPOZY<><> n (FOFSBMJ[FE %BH8FEFMJO)FVSJTUJDʹجͮ͘ιϧόʔ n .*5-JDFOTF  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ιϧόʔ։ൃͷഎܠɾ໨త *-1޲͚044ώϡʔϦεςΟοΫιϧόʔ <>IUUQTHJUIVCDPNTIBPXFJDBJHSPVQ-PDBM*-1  <>1-JOFUBM /FX$IBSBDUFSJ[BUJPOTBOE&GGJDJFOU-PDBM4FBSDIGPS(FOFSBM*OUFHFS-JOFBS1SPHSBNNJOH BS9JW QSFQSJOUBS9JW  <>IUUQTHJUIVCDPNRVFTOFMCBSZPOZY  <>4.BRSPUFUBM -FBSOJOH1BSBNFUFSTPGUIF8FEFMJO)FVSJTUJDXJUI"QQMJDBUJPOUP$SFXBOE#VT%SJWFS 4DIFEVMJOH IBM  ঎༻Ͱ͸HVSPCJ /P3FM)FVSJTUJDʣ΍/VPSJVN0QUJNJ[FSʢXDTQ XMTʣ ͳͲ͕͋Δ͕ɼ044ͷώϡʔϦεςΟοΫιϧόʔ͸਺গͳ͍ͷ͕ݱঢ়
  13. ໨࣍  ͸͡Ίʹ  ιϧόʔ։ൃͷഎܠɾ໨త  ΞϧΰϦζϜ֓ཁ  ઃܭɾ࣮૷ͷϙΠϯτ 

    ։ൃϓϩηε  ͓ΘΓʹ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6." 
  14. ᶃ Πϯελϯεʹରͯ͠ݸผʹௐ੔͢΂͖ύϥϝʔλ͕ͳ͍͜ͱ n ௐ੔͢΂͖ύϥϝʔλ͕ͻͱͭͰ΋͋Δͱ൚༻ιϧόͱͯ͠࢖͍ͮΒ͍ n ͱ͘ʹ໨తؔ਺ͷϨϯδʹґଘ͢Δύϥϝʔλͷௐ੔͸ࠔ೉ n ύϥϝʔλ͕͋Δ͜ͱࣗମ͸0,ɽͨͩ͠ɼଟ༷ͳΠϯελϯεʹରͯ͠ ྑ޷ͳੑೳΛࣔ͢஋͕͋Δ͜ͱɽ΋͘͠͸࣮ߦதʹࣗಈௐ੔Ͱ͖Δ͜ͱ n

    ྫ֎ɿ୳ࡧ࣌ؒɾ൓෮ճ਺ͷ্ݶ஋ʢϢʔβʹΑΔมߋɾௐ੔Λ૝ఆʣ ᶄ ֤൓෮Ͱͷڍಈ͕ܭࢉ࣌ؒ΍൓෮ճ਺ͷ্ݶ஋ʹґଘ͠ͳ͍͜ͱ n ʮܭࢉ࣌ؒʢ͋Δ͍͸൓෮ճ਺ʣΛԆ৳ͯ͠࠶ܭࢉͨ͠Βղ͕ѱԽͨ͠ʯ ͱ͍͏͜ͱ͕ͳ͍͜ͱΛอূ͍ͨ͠  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ΞϧΰϦζϜ֓ཁ ΞϧΰϦζϜͷཁ݅ʢͱͯ͠উखʹఆΊͨ΋ͷʣ ᶃᶄΛຬͨ͢ΞϧΰϦζϜͱͯ͠8FJHIUFE 5BCV4FBSDI<>Λ࠾༻ <>,/POPCFBOE5*CBSBLJ "O*NQSPWFE5BCV4FBSDI.FUIPEGPSUIF8FJHIUFE$POTUSBJOU4BUJTGBDUJPO 1SPCMFN *OG4ZTU0QFS3FT 7PM QQ 
  15. n 5BCV4FBSDI<> n ϝλώϡʔϦεςΟΫεͷҰछ n ࠷ྑҠಈઓུ˞ʹجͮ͘ہॴ୳ࡧ๏ͷ֦ுͱΈͳͤΔ n Ұ౓มߋͨ͠ղͷଐੑΛ5BCV-JTUʹอ࣋͠ɼ5BCV5FOVSF͕ఆΊΔظؒத ͷ࠶ૢ࡞Λېࢭ͢Δ͜ͱͰɼہॴղ͔Βͷ୤ग़ͱ୳ࡧͷଟ༷ԽΛਤΔ n

    ໰୊ʹ͋Θͤͨ5BCV-JTUอ࣋ଐੑɾ୳ࡧۭؒɾۙ๣ɾධՁؔ਺ͷઃܭ͕ඞཁ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  5BCV4FBSDIͷ୳ࡧ֓೦ਤ <>'(MPWFS 'VUVSF1BUITGPS*OUFHFS1SPHSBNNJOHBOE-JOLTUP"SUJGJDJBM*OUFMMJHFODF $PNQVUFST 0QFSBUJPOT3FTFBSDI 7PM /P QQ  ˞ɿۙ๣ղ͢΂ͯΛධՁ͠ɼධՁؔ਺͕࠷ྑͷղʹભҠ͢Δઓུ l ܾఆม਺ɿ𝑥 ∈ 0,1 ! l 5BCV5FOVSFɿ l ۙ๣ɿ୯Ұม਺ͷϑϦοϓ l 5BCV-JTUอ࣋ଐੑɿܾఆม਺ͷఴࣈ ੨ࣈɿૢ࡞ͨ͠ม਺ ɿૢ࡞ېࢭม਺ ൓෮ճ਺ 解  (0, 0, 0, 0, 0)  (0, 1, 0, 0, 0)  (0, 1, 0, 1, 0)  (0, 1, 0, 1, 1)  (0, 0, 0, 1, 1) ΞϧΰϦζϜ֓ཁ 8FJHIUFE5BCV4FBSDIʢ̍ʣ
  16. n 5BCV4FBSDIͷಛ௃ B ˓ύϥϝʔλௐ੔͕༰қ n ύϥϝʔλ͸5BCV5FOVSFͷΈͰ͋Γɼ͔ͭ*-1ͷ৔߹͸ 5BCV5FOVSFఔ౓ͱ͓͚ͯ͠͹ɼܦݧతʹൺֱత޿ൣͳ Πϯελϯεʹରͯ͠ੑೳΛൃش C ˓ߴ͍ہॴ୳ࡧੑೳ

    n ॳظղ͔ΒᩦཉతʹղΛߋ৽͢ΔͨΊɼॳظղͷपลʹ͋Δ վળղΛݟಀ͞ͳ͍ D ˓ղΛࢄΒ͔͞ͳ͍ n ଟ༷ԽΛ໨తͱͨ֬͠཰తͳղഁյ΍ѱԽडཧΛ͓͜ͳΘͳ͍ ͨΊɼॳظղ͔Βͷมߋ಺༰ΛۛຯɾධՁ͠΍͍͢ E ˚ߴ͍ੑೳΛಘΑ͏ͱ͢Δͱ࣮૷ྔ͕ଟ͘ͳΔ n ʮ͢΂ͯͷۙ๣ղͷධՁ͢Δʯͱ͜Ζ͕ܭࢉͷϘτϧωοΫɽ େن໛ΠϯελϯεΛ૝ఆ͢Δ৔߹ɼᶃධՁର৅ۙ๣ղͷߜΓࠐΈɼ ᶄࠩ෼ධՁ౳ʹΑΔۙ๣ղධՁߴ଎Խ͕ॏཁͱͳΔʢޙड़ʣ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ࣮໰୊ద༻ ʹ͓͍ͯ خ͍͠ੑ࣭ ΞϧΰϦζϜ֓ཁ 8FJHIUFE5BCV4FBSDIʢ̎ʣ
  17. ΞϧΰϦζϜ֓ཁ 8FJHIUFE5BCV4FBSDIʢ̏ʣ n 5BCV-JTUอ࣋ଐੑ n ܾఆม਺ͷఴࣈΛ5BCV-JTUͰอ࣋͢Δ n ղΛ௚઀5BCV-JTUͰอ࣋͢Δ৔߹ͱൺֱͯ͠ېࢭ͞ΕΔૢ࡞͕૿͑ɼ ଟ༷Խ͕ظ଴Ͱ͖Δɽ·ͨېࢭૢ࡞͔Ͳ͏͔ͷ൑ఆ΋ߴ଎ʹͰ͖Δ n

    ୳ࡧۭؒ n *-1ʹରͯ͠ɼ࣮ߦՄೳղͷΈ͔Β୳ࡧۭؒΛߏ੒͢Δ͜ͱ͸ࠔ೉ n ࣮ߦෆՄೳղ΋ؚΉɼ֤ม਺ͷ্Լݶ੍໿Ͱنఆ͞ΕΔۭؒશମΛ୳ࡧ n ۙ๣ n ҎԼͷछྨʹՃ͑ɼΠϯελϯεͷߏ଄ղੳʹجͮ͘௥Ճۙ๣Λ࠾༻  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  /P ۙ๣໊ ର৅ ૢ࡞  'MJQ ม਺ ͋Δͻͱͭͷม਺ͷ஋Λ͔Βʹɼ͋Δ͍͸͔Βʹมߋ͢Δ  4IJGU Ұൠͷ੔਺ม਺ ͋Δͻͱͭͷม਺ͷ஋Λɼ্Լݶ੍໿ͷൣғͰœ͢Δ  +VNQ Ұൠͷ੔਺ม਺ ͋Δͻͱͭͷม਺ͷ஋Λɼݱࡏ஋ͱ্ݶʢԼݶʣͷதؒ஋ʹมߋ͢Δ
  18. ΞϧΰϦζϜ֓ཁ 8FJHIUFE5BCV4FBSDIʢ̐ʣ n ϖφϧςΟؔ਺๏Λ༻͍Δ͜ͱͰ࣮ߦՄೳղͱ࣮ߦෆՄೳղΛಉҰͷई౓ͰධՁ n ୳ࡧதɼ੍໿ͷ९कɾҳ୤ঢ়گΛ؂ࢹͭͭ͠ɼϖφϧςΟ܎਺Λಈతʹมߋ͠ ࣮ߦՄೳղͱ࣮ߦෆՄೳղͷڥք෦෼Λॏ఺తʹ୳ࡧʢઓུతৼಈʣ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6." 

    ILP : minimize 𝒍 $ 𝒙 $ 𝒖 𝒂' (𝒙 = 𝑏' , 𝑖 ∈ 𝐼) , 𝒂' (𝒙 ≤ 𝑏' , 𝑖 ∈ 𝐼$ , 𝑥! ∈ ℤ, 𝑗 ∈ 𝐽 𝒄(𝒙 subject to ILP′ : minimize 𝒍 $ 𝒙 $ 𝒖 𝑥! ∈ ℤ, 𝑗 ∈ 𝐽 𝒄(𝒙 + J '∈+"∪+# 𝑤' - max(𝒂' (𝒙 − 𝑏' , 0) − J '∈+" 𝑤' . min(𝒂' (𝒙 − 𝑏' , 0) subject to ੍໿৚݅ͷҧ൓ྔΛϖφϧςΟͱͯ͠໨తؔ਺ʹՃࢉʢͦͷ୅ΘΓʹ੍໿Λ؇࿨ʣ ϖφϧςΟ܎਺ʢඇෛʣ n ධՁؔ਺ʢۙ๣ղબ୒ͷͨΊͷධՁ஋ܭࢉʣ
  19. ໨࣍  ͸͡Ίʹ  ιϧόʔ։ൃͷഎܠɾ໨త  ΞϧΰϦζϜ֓ཁ  ઃܭɾ࣮૷ͷϙΠϯτ 

    ։ൃϓϩηε  ͓ΘΓʹ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6." 
  20. ઃܭɾ࣮૷ͷϙΠϯτ ͍͔ʹͯ͠෼ࢬݶఆ๏޲͚ΠϯελϯεΛղ͖΍͘͢͢Δ͔ʁ n ෼ࢬݶఆ๏ͱώϡʔϦεςΟΫεͰ͸దͨ͠ఆࣜԽ͸ҟͳΔ n ෼ࢬݶఆ๏ɿ࿈ଓ؇࿨໰୊Λղ͍ͯಘΒΕΔԼք͕ڧ͍ఆࣜԽ͕Α͍ n ώϡʔϦεςΟΫεɿม਺ɾ੍໿͕গͳ͍ఆࣜԽ͕Α͍ʢҰ෦ྫ֎͋Γʣ B ܭࢉલʹద౰ͳલॲཧʹΑΓΠϯελϯεαΠζΛॖখ͢Δ

    C Πϯελϯεͷߏ଄ʢ੍໿৚݅ͷछྨ΍਺ʣΛղੳ͠ɼͦ͜ͰಘΒΕͨ৘ใ Λ׆༻ͯ͠தؒม਺ͷফڈ΍༗ޮͳۙ๣ͷநग़Λ͓͜ͳ͏  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  Πϯελϯεॖখ தؒม਺ͷফڈ ༗ޮͳۙ๣ͷநग़ • ҧ൓͑͠ͳ੍͍໿Λআڈ • ஋ΛݻఆͰ͖Δม਺Λఆ਺Խ ϞσϦϯάͷศٓͷͨΊಋೖ͞Εͯ ͍Δதؒม਺Λ୅ೖɾফڈ ໰୊ߏ଄͔Β༗ޮͳۙ๣Λநग़ ʢྫɿ/ݸͷબ୒ࢶ͔ΒͻͱͭબͿʣ 𝑨 𝑨′ 𝑨𝒙 = 𝒃 𝑨′𝒙′ = 𝒃′ minimize !, &, ' 𝑧 subj. to 𝑧 = 𝑥 + 𝑦 minimize !,& 𝑥 + 𝑦 𝑥# + 𝑥$ + 𝑥% = 1 (𝑥# , 𝑥$ , 𝑥% ∈ 0,1 ) 𝑥 = (0, 1, 0) 𝑥 = (1, 0, 0) 𝑥 = (0, 0, 1) ։ൃํ਑ᶄɿ෼ࢬݶఆ๏ιϧόʔ޲͚ʹఆࣜԽ͞ΕͨΠϯελϯεΛͦͷ··ղ ͍ͯ΋ྑ޷ͳੑೳ͕ಘΒΕΔ͜ͱ
  21. n Πϯελϯεॖখॲཧͷ֓ཁ˞ B ద౰ͳ੍໿৚݅ʹண໨͠ɼ੍໿ؚ͕ࣜΉ֤ม਺ͷͱΓ͏Δ্Լݶ஋Λܭࢉͯ͠ɼ౰ ܾ֘ఆม਺ͷ্Լݶ੍໿ͷڧԽ͋Δ͍͸஋ͷݻఆΛ͓͜ͳ͏ C ద౰ͳ੍໿৚݅ʹண໨͠ɼ͍͔ͳΔม਺ͷ஋ʢͷ૊ʣʹରͯ͠΋৵֐͠ಘͳ͍৔߹ɼ ౰੍֘໿৚݅Λ࡟আ͢Δ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."

     ઃܭɾ࣮૷ͷϙΠϯτ Πϯελϯεॖখ ˞͜ͷ΄͔ɼॏෳ͢Δ੍໿ͷআڈɼෆ౳߸ͷ޲͖͚͕ͩҟͳΔෆ౳੍ࣜ໿ͷ౳੍ࣜ໿΁ͷϚʔδɼಛఆ໰୊ʢू߹෼ׂ໰ ୊ɼू߹ඃ෴໰୊ɼϥΠπΞ΢τ໰୊ʣઐ༻ͷख๏ͳͲΛซ༻ɽৄࡉʹ͍ͭͯ͸ҎԼهࣄʹهࡌ IUUQTTOPXCFSSZGJFMEIBUFOBEJBSZDPNFOUSZ .*1-*##FODINBSL4FU७੔਺ܭը໰୊ Πϯελϯε Πϯελϯεॖখ݁Ռ
  22. ઃܭɾ࣮૷ͷϙΠϯτ Πϯελϯεͷߏ଄ղੳʢ̍ʣ n Πϯελϯεʹؚ·ΕΔ੍໿৚݅Λɼͦͷߏ଄Λ΋ͱʹҎԼͷλΠϓʹ෼ྨ˞ n ͍͔ͭ͘ͷ੍໿৚݅λΠϓʹରͯ͠ɼಛఆͷม਺ͷফڈ΍ۙ๣நग़Λ͓͜ͳ͏  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ˞.*1-*#*OTUBODF4UBUJTUJD(VJEF

    IUUQTNJQMJC[JCEFTUBUJTUJDTIUNM ʹهࡌͷ෼ྨΛಠࣗʹमਖ਼ɾ֦ு ͨ͠΋ͷɽෳ਺λΠϓʹ߹க͢Δ੍໿৚݅͸/Pͷए͍΋ͷʹ෼ྨ͢Δɽ ͱ͘ʹॏཁͳ੍໿৚݅λΠϓʢߏ଄Λେ͖͘ม͑Δ͔ͨͪͰͷม਺ফڈɾۙ๣ఆٛΛ࣮ࢪʣ
  23. n ΞϧΰϦζϜվળͷछྨ n ࠾༻͍ͯ͠Δߟ͔͑ͨ n ͓΋ʹܭࢉ଎౓ͷվળΛ௨ͯ͡ɼ൚༻ੑɾੑೳͷϕʔεΞοϓΛਤΔ n ୳ࡧڍಈͷվળޮՌ͸ཧ۶͚͕ͮΉ͔ͣ͘͠ɼධՁͨ͠ΠϯελϯεҎ֎Ͱ ͏·͘ػೳ͢Δ͔Ͳ͏͔Θ͔Βͳ͍͏͑ɼύϥϝʔλ΋૿͑Δ n

    ܭࢉ଎౓ͷվળ͸ධՁͨ͠ΠϯελϯεҎ֎ʹରͯ͠΋ޮՌΛݟࠐΈ΍͍͢  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ։ൃํ਑ᶅɿ൚༻ੑͱੑೳΛཱ྆͢Δ͜ͱ /P վળछྨ આ໌ ۩ମྫ  ୳ࡧڍಈͷվળ ಉ͡൓෮ճ਺ͰΑΓྑ͍ղʹ౸ୡͰ͖ ΔΑ͏ʹ͢ΔͨΊͷվળ ಛघۙ๣ͷఆٛɼղͷઁ ಈɼϦελʔτͳͲ  ܭࢉ଎౓ͷվળ ֤൓෮ͰಘΒΕΔղ͸ม͑ͣɼΑΓ଎ ͘൓෮Ͱ͖ΔΑ͏ʹ͢ΔͨΊͷվળ ۙ๣ղධՁͷߴ଎ԽͳͲ ઃܭɾ࣮૷ͷϙΠϯτ ൚༻ੑͱੑೳͷཱ྆
  24. ᶃ ධՁର৅ۙ๣ղ਺ͷ࡟ݮ n ղΛվળ͠͏Δۙ๣ղͷΈΛධՁର৅ͱ͢Δ˞ ᶄ ղධՁͷޮ཰Խ n ݱࡏղͷ໨తؔ਺஋ɾ੍໿ؔ਺஋Λอ࣋͠ɼۙ๣ղʹ͓͚Δ֤ؔ਺ͷ஋Λࠩ෼ධՁ n ੍໿ؔ਺ʹ͍ͭͯ͸ɼۙ๣ૢ࡞ʹରͯ͠ײ౓Λ΋ͭ΋ͷͷΈΛධՁ

    ᶅ ฒྻԽ n ۙ๣ղධՁΛ0QFO.1ͰฒྻԽɽฒྻԽͷద൱΍࠷దεϨου਺͸Πϯελϯε΍ ܭࢉػ౳ʹґଘ͢ΔͨΊɼόϯσΟοτΞϧΰϦζϜΛ༻͍ͯΦϯϥΠϯ࠷దԽ˞  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ઃܭɾ࣮૷ͷϙΠϯτ ߴ଎Խͷجຊࢦ਑ /P ঢ়گ આ໌  ݱࡏղ͕࣮ߦෆՄೳ ͍ͣΕ͔ͷ੍໿৚݅ҧ൓Λվળ͢Δۙ๣ղͷΈΛධՁର৅ͱ͢Δ  ݱࡏղ͕࣮ߦՄೳ ໨తؔ਺஋Λվળ͢Δۙ๣ղͷΈΛධՁର৅ͱ͢Δ ˞੍֤໿৚݅΍໨తؔ਺ʹ͓͚Δม਺ͷ܎਺ΛνΣοΫ͢Δ͜ͱͰߜΓࠐΈՄೳɻ ˞ੑೳʹվળ༨஍͕͋ΔͨΊվྑݕ౼தʢ࣌఺ͷ࠷৽όʔδϣϯʢWʣʣ ൓෮͋ͨΓͷղධՁ࣌ؒʹᶃධՁର৅ۙ๣ղ਺ºᶄղධՁ࣌ؒ ºᶅฒྻԽޮՌ
  25.  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ઃܭɾ࣮૷ͷϙΠϯτ ߴ଎ԽͷޮՌ ฏۉղධՁ࣌ؒ ʢײ౓ͷͳ੍͍໿ؔ ਺ͷ஋΋͢΂ͯධՁ ͨ͠৔߹ʹର͢Δܭ ࢉ࣌ؒͷൺ཰ʣ

    ฏۉධՁର৅ۙ๣਺ ʢશۙ๣ʹର͢Δൺ཰ʣ ܾఆม਺ͷ਺ ੍໿৚݅ͷ਺ ܎਺ߦྻඇྵ੒෼ີ౓ .*1-*##FODINBSL4FU७੔਺ܭը໰୊Πϯελϯεʹର͢Δ ධՁର৅ۙ๣ղ਺ͷ࡟ݮɺղධՁͷޮ཰Խͷ"CMBUJPO4UVEZ݁Ռʢ࣮ߦෆՄೳΠϯελϯεɼFOMJHIU@IBSEΛআ͘୊ʣ n ධՁର৅ۙ๣ղ਺ͷ࡟ݮɼղධՁͷޮ཰Խ͸ͱ΋ʹεύʔεɾେن໛ͳΠϯε λϯεʹ͓͍ͯޮՌେ
  26. ໨࣍  ͸͡Ίʹ  ιϧόʔ։ൃͷഎܠɾ໨త  ΞϧΰϦζϜ֓ཁ  ઃܭɾ࣮૷ͷϙΠϯτ 

    ։ൃϓϩηε  ͓ΘΓʹ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6." 
  27. ᶃ ։ൃͷࡉ෼Խ n ։ൃεςοϓΛࡉ͔͘෼ׂ͠ɼҙਤ͠ͳ͍ੑೳมԽʹؾ͖ͮ΍͘͢͢Δ n ͱ͘ʹɼ୳ࡧڍಈͷมߋͱܭࢉ଎౓ͷվળ͸ݪଇͱͯ͠ಉ࣌ʹ࣮ࢪ͠ͳ͍ ᶄ ੑೳͷ؂ࢹ n ΞϧΰϦζϜվྑɾػೳ௥ՃͷλΠϛϯάͰϕϯνϚʔΫηοτΛ༻͍ͨ

    ੑೳධՁΛ͓͜ͳ͍ɼͦͷ݁ՌΛσʔλϕʔεʹ֨ೲ͢Δ n ϕϯνϚʔΫηοτ͸͓΋ʹ.*1-*##FODINBSL4FUΛར༻ ᶅ ϑΝΠϯνϡʔχϯάېࢭ n ύϥϝʔλͷσϑΥϧτ஋ͷϑΝΠϯνϡʔχϯά͸͠ͳ͍ n ਐԽܭࢉͳͲΛ༻͍ͨύϥϝʔλ࠷దԽʹΑΓɼϕϯνϚʔΫηοτʹର ͢Δݟ্ֻ͚ͷੑೳΛߴΊͯ΋ɼະ஌ͷΠϯελϯεʹର͢Δੑೳ޲্͸ อূ͞Εͳ͍  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."  ։ൃϓϩηε جຊํ਑
  28. ໨࣍  ͸͡Ίʹ  ιϧόʔ։ൃͷഎܠɾ໨త  ΞϧΰϦζϜ֓ཁ  ઃܭɾ࣮૷ͷϙΠϯτ 

    ։ൃϓϩηε  ͓ΘΓʹ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6." 
  29. ͓ΘΓʹ n ·ͱΊ n ϝλώϡʔϦεςΟΫεʹجͮ͘൚༻ઢܗ੔਺ܭըιϧόʔΛ։ൃ n ෼ࢬݶఆ๏ιϧόʔΛੑೳ໘Ͱิ׬͢Δ͜ͱ͕͓΋ͳૂ͍ n 8FJHIUFE5BCV4FBSDIΛϕʔεͱͯ͠ɼΠϯελϯεαΠζ࡟ݮɼ ۙ๣ղͷߜΓࠐΈɼղධՁͷߴ଎ԽͳͲΛ࣮૷

    n ௐ੔͢΂͖ύϥϝʔλ͕ͳ͘ɼ·ͨ෼ࢬݶఆ๏ιϧόʔ޲͚ʹఆࣜԽ͞ΕͨΠϯε λϯεΛͦͷ··ղ͍ͯ΋ྑ޷ͳੑೳ͕ظ଴Ͱ͖Δ n ੒Ռ෺ n 13*/5&.14ʢ։ൃͨ͠ιϧόʔʣ n IUUQTTOPXCFSSZGJFMEHJUIVCJPQSJOUFNQT n 5BCV4FBSDI#BTFE)FVSJTUJD4PMWFSGPS(FOFSBM*OUFHFS-JOFBS 1SPHSBNNJOH1SPCMFNTʢؔ࿈࿦จʣ n IUUQTJFFFYQMPSFJFFFPSHEPDVNFOU n ࠓޙͷ՝୊ʢݱࡏͷऔΓ૊Έʣ n ػցֶशͱϝλώϡʔϦεςΟΫεʢຊιϧόʔʣΛ૊߹ͤͨղ୳ࡧख๏ͷ໛ࡧ ʢେྔͷ࣮ߦՄೳղΛ΋ͱʹղߏ଄Λֶश͠ผͷ࣮ߦՄೳղΛੜ੒͢ΔɼͳͲʣ  0QUJNJ[BUJPO/JHIUr:VKJ,0(6."