カーマーカー法はやめて「線形計画法と整数計画法」です。
ઢܗܭը๏ͱΧʔϚʔΧʔ๏ϓϩάϥϚͷͨΊͷֶษڧձ
View Slide
ઢܗܭը๏ͱΧʔϚʔΧʔ๏
ΧʔϚʔΧʔͷ୭ಘ
ΧʔϚʔΧʔͷ୭ಘ͑ͬʂʁ
ઢܗܭը๏ͱܭը๏
ࣗݾհShintaro Kaneko‣ גࣜձࣾΤϨΧ‣ pairsͷ։ൃશൠ୲‣ ࠷ۙGoݴޠͰ։ൃ͍ͯ͠·͢‣ େֶ࣌‣ ࠷దԽͷඇઢܗܭը๏Λઐ߈‣ github.com/kaneshin/lbfgs ʢݹʣ‣ ඍํఔ͕͖ࣜͩͬͨkaneshinkaneshinthshintaro.kaneko
ࣗݾհShintaro Kaneko‣ גࣜձࣾΤϨΧ‣ pairsͷ։ൃશൠ୲‣ ࠷ۙGoݴޠͰ։ൃ͍ͯ͠·͢‣ େֶ࣌‣ ࠷దԽͷඇઢܗܭը๏Λઐ߈‣ github.com/kaneshin/lbfgs ʢݹʣ‣ ඍํఔ͕͖ࣜͩͬͨkaneshinkaneshinthshintaro.kanekoٱ͠ৼΓͷֶʂ
Copyright © 2009-2015 eureka, Inc. All rights reserved.
Copyright © 2009-2015 eureka, Inc. All rights reserved.‣ pairsϚονϯάΞϧΰϦζϜ͕ඇৗʹॏཁ‣ ๛ͳϢʔβʔͷσʔλͷ׆༻‣ ΤϯδχΞ͕Ϗδωε໘͔ΒΞϧΰϦζϜΛߟ͑Δ‣ ࣾษڧձͰRษڧʴ౷ܭֶͷษڧձ։࠵‣ ϏοάσʔλΛਖ਼͍ࣝ͠Ͱ༻͢Δ‣ ౷ܭΛؒҧͬͨೝࣝͰ༻͠ͳ͍ʢภͬͨσʔλΛΘͳ͍
ຊ౷ܭͷͰ͋Γ·ͤΜʂ
ຊͷΰʔϧ
ຊͷΰʔϧ࠷దԽʢཧܭըʣΛͪΐͬͱͰͬͯΒ͏
ຊ͢͜ͱ
ຊ͢͜ͱΦϖϨʔγϣϯζɾϦαʔν࠷దԽʢཧܭըʣઢܗܭըͱܭը
ຊΒͳ͍͜ͱΒͳ͍͜ͱϓϩάϥϜͰγϛϡϨʔγϣϯΓ͔ͨͬͨΜͰ͕͕࣌ؒ͢ݫ͍͠ͷͰׂѪ
ΦϖϨʔγϣϯζɾϦαʔν
ΦϖϨʔγϣϯζɾϦαʔνʢORʣ‣ OR૬͍Λࢦ͢‣ ༷ʑͳܭըʹରͯ͠࠷ޮతʹͳΔΑ͏ҙࢥܾఆ͢Δ‣ ֶɾ౷ܭతϞσϧɺΞϧΰϦζϜͷར༻‣ ʮγϛϡϨʔγϣϯʯͷཱ֬ORཱ͕ऀ‣ ORͰݱ࣮ͷΛཧϞσϧʹஔ͖͑Δ‣ ࠷దԽɼͪߦྻɼ֬ͳͲ‣ ܉ࣄతؔ৺ͱܦࡁతؔ৺͕ڧ͍
ͭ·Γʁ
ྫ͑ɼேͷ௨ۈిं
ேͷ௨ۈిं‣ ܦ࿏ݕࡧʹʮYahoo!࿏ઢʯ͍ͬͯΔͱࢥ͍·͢‣ ཪଆͰʮܦ࿏ޮʯʮίετޮʯͷߟྀ‣ Ո͔ΒӺ·Ͱʹཁ͢Δ࣌ؒΛܭࢉ‣ ెาӺͰిंΛͨͳ͍Α͏ʹग़ൃ͢Δܭը‣ ࢁखઢͷَͷΑ͏ͳμΠϠ‣ γϛϡϨʔγϣϯ͕Կສճ͞Εͨ݁Ռ
ேͷ௨ۈిं‣ ܦ࿏ݕࡧʹʮYahoo!࿏ઢʯ͍ͬͯΔͱࢥ͍·͢‣ ཪଆͰʮܦ࿏ޮʯʮίετޮʯͷߟྀ‣ Ո͔ΒӺ·Ͱʹཁ͢Δ࣌ؒΛܭࢉ‣ ెาӺͰిंΛͨͳ͍Α͏ʹग़ൃ͢Δܭը‣ ࢁखઢͷَͷΑ͏ͳμΠϠ‣ γϛϡϨʔγϣϯ͕Կສճ͞Εͨ݁Ռ͜ΕΒORͷҰछ
ׂͱۙʹOR
࠷దԽ
࠷దԽORͷҰཁૉ
ઢܗܭըඇઢܗܭըܭըήʔϜཧORσʔλϚΠχϯά::::ۚ༥ֶ࠷దԽ
࠷దԽͱʢoptimization problemʣཧܭըͱΑΕΔʢMathematical Programming Problemʣ
࠷దԽͱ༩͑ΒΕͨ݅ͷͱͰԿΒ͔ͷؔΛ࠷খԽɾ࠷େԽ͢Δ
࠷దԽͱ
࠷దԽͱ੍݅ͷͱͰ
࠷దԽͱ੍݅ͷͱͰɼతؔͷ
࠷దԽͱ੍݅ͷͱͰɼతؔͷ࠷దͱͳΔ
࠷దԽͱ੍݅ͷͱͰɼతؔͷ࠷దͱͳΔ࠷దղΛ
࠷దԽͱ੍݅ͷͱͰɼతؔͷ࠷దͱͳΔ࠷దղΛ࣮ߦՄೳྖҬ͔Β୳͢
తؔɾ੍݅ʹΑͬͯ࠷దԽྨ͞ΕΔ
࠷దԽͷྨʢ෦తʣ‣ ઢܗܭը‣ తؔɾ੍݅ͷू߹͕̍࣍ࣜͷΈ‣ ඇઢܗܭը‣ తؔɾ੍݅ʹඇઢܗ͕ࣜଘࡏ͢Δ‣ ܭըʢࠞ߹ɾ७ʣ‣ ੍݅ͷҰ෦·ͨશͯͷมͷͱΔ͕‣ ̎࣍ܭը‣ త͕ؔ̎࣍ࣜɼ੍݅ͷू߹͕̍࣍ࣜetc…
ઢܗܭըඇઢܗܭըܭըήʔϜཧOR࠷దԽσʔλϚΠχϯά::::ۚ༥ֶ
ઢܗܭը
ઢܗܭըతؔɾ੍݅ͷू߹͕̍࣍ࣜͷΈ
ྫɿੜ࢈ܭը
̎มͷੜ࢈ܭը‣ M1, M2, M3ͷݪྉΛ༻͍ͯɼP1, P2Λੜ࢈͍ͯ͠Δ
̎มͷੜ࢈ܭը‣ M1, M2, M3ͷݪྉΛ༻͍ͯɼP1, P2Λੜ࢈͍ͯ͠Δ‣ ར༻ՄೳྔɿM1 ≦ 27t, M2 ≦ 45t, M3 ≦15t
̎มͷੜ࢈ܭը‣ M1, M2, M3ͷݪྉΛ༻͍ͯɼP1, P2Λੜ࢈͍ͯ͠Δ‣ ར༻ՄೳྔɿM1 ≦ 27t, M2 ≦ 45t, M3 ≦15t‣ P1ͷੜ࢈‣ M1Λ2t, M2Λ8t, M3Λ3t‣ ར५2ສʂ
̎มͷੜ࢈ܭը‣ M1, M2, M3ͷݪྉΛ༻͍ͯɼP1, P2Λੜ࢈͍ͯ͠Δ‣ ར༻ՄೳྔɿM1 ≦ 27t, M2 ≦ 45t, M3 ≦15t‣ P1ͷੜ࢈‣ M1Λ2t, M2Λ8t, M3Λ3t‣ ར५2ສʂ‣ P2ͷੜ࢈‣ M1Λ6t, M2Λ6t, M3Λ1t‣ ར५5ສʂ
̎มͷੜ࢈ܭը‣ M1, M2, M3ͷݪྉΛ༻͍ͯɼP1, P2Λੜ࢈͍ͯ͠Δ‣ ར༻ՄೳྔɿM1 ≦ 27t, M2 ≦ 45t, M3 ≦15t‣ P1ͷੜ࢈‣ M1Λ2t, M2Λ8t, M3Λ3t‣ ར५2ສʂ‣ P2ͷੜ࢈‣ M1Λ6t, M2Λ6t, M3Λ1t‣ ར५5ສʂར५Λ࠷େԽ͍ͨ͠
̎มͷੜ࢈ܭըݪྉʘ P1 P2 ར༻ՄೳྔM1 2 6 27M2 8 6 45M3 3 1 15ར५ 2 5
̎มͷੜ࢈ܭըP1, P2ͷੜ࢈ྔΛมྔ (x1, x2) ͱ͢ΔͱΛ࠷େԽͤ͞Δ࠷దԽͱͳΔ
̎มͷੜ࢈ܭը੍݅ར༻Մೳͳݪྉͷྔͱඇෛ
̎มͷੜ࢈ܭըઢܗܭըͱͯ͠ఆࣜԽ
̎มͷੜ࢈ܭըઢܗܭըͱͯ͠ఆࣜԽ͜ͷͷ࠷దղΛٻΊ͍ͨ
ͱ͜ΖͰ
࿈ଓ͔ʁ
ܭը
ܭը੍݅ͷҰ෦·ͨશͯͷมͷͱΔ͕
ྫɿੜ࢈ܭըʢʣ
̎มͷੜ࢈ܭըʢʣ‣ M1, M2, M3ͷݪྉΛ༻͍ͯɼP1, P2Λੜ࢈͍ͯ͠Δ‣ ར༻ՄೳྔɿM1 ≦ 27t, M2 ≦ 45t, M3 ≦15t‣ P1ͷੜ࢈‣ M1Λ2t, M2Λ8t, M3Λ3t‣ ར५2ສʂ‣ P2ͷੜ࢈‣ M1Λ6t, M2Λ6t, M3Λ1t‣ ར५5ສʂར५Λ࠷େԽ͍ͨ͠
̎มͷੜ࢈ܭըʢʣ‣ M1, M2, M3ͷݪྉΛ༻͍ͯɼP1, P2Λੜ࢈͍ͯ͠Δ‣ ར༻ՄೳྔɿM1 ≦ 27t, M2 ≦ 45t, M3 ≦15t‣ P1ͷੜ࢈ɹݸͰΫϨ‣ M1Λ2t, M2Λ8t, M3Λ3t‣ ར५2ສʂ‣ P2ͷੜ࢈ɹݸͰΫϨ‣ M1Λ6t, M2Λ6t, M3Λ1t‣ ར५5ສʂར५Λ࠷େԽ͍ͨ͠
̎มͷੜ࢈ܭըʢʣ‣ M1, M2, M3ͷݪྉΛ༻͍ͯɼP1, P2Λੜ࢈͍ͯ͠Δ‣ ར༻ՄೳྔɿM1 ≦ 27t, M2 ≦ 45t, M3 ≦15t‣ P1ͷੜ࢈ɹݸͰΫϨ‣ M1Λ2t, M2Λ8t, M3Λ3t‣ ར५2ສʂ‣ P2ͷੜ࢈ɹݸͰΫϨ‣ M1Λ6t, M2Λ6t, M3Λ1t‣ ར५5ສʂར५Λ࠷େԽ͍ͨ͠
̎มͷੜ࢈ܭըʢʣઢܗܭըͱͯ͠ఆࣜԽ
̎มͷੜ࢈ܭըʢʣઢܗܭըͱͯ͠ఆࣜԽͰΫϨͰΫϨ
̎มͷੜ࢈ܭըʢʣܭըͱͯ͠ఆࣜԽ
̎มͷੜ࢈ܭըʢʣܭըͱͯ͠ఆࣜԽ͜ͷͷ࠷దղΛٻΊ͍ͨ
άϥϑͰΈΔղ๏ԼهΛάϥϑͰදݱ͢Δ
ઢܗܭըͷ߹
ઢܗܭըͷ߹࠷దղ
ܭըͷ߹
ܭըͷ߹࠷దղ?
ܭըͷ߹࠷దղ!
ઢܗܭըͱܭըͷҧ͍‣ ઢܗܭըͷ࠷దղ‣ ୯ମ๏ͱ͍͏ɺลΛḷ͍ͬͯ͘ํ๏͕࣮༻త‣ ଟ߲ࣜ࣌ؒͰղ͚ͳ͍ͱ͖͕͋Δ‣ ๏ͱ͍͏ղ๏ଘࡏ͢Δ‣ ࣮ߦྖҬͷ෦͔ΒղΛ୳ࡧ͢Δ‣ ܭըͷ࠷దղ‣ ઢܗܭըͰಘΒΕͨ࠷దղʹ͍ۙͷ͕࠷దղʹͳΒͳ͍߹͕͋Δ๏ϫγ͕ҭͯͨ
·ͱΊ
·ͱΊ࠷దԽͳΜͱͳ͘ཧղͯ͠Β͑ͨͰ͠ΐ͏͔ʁ
·ͱΊ - ࠷ޙʹ‣ ͜ͷ·ͩ·ͩϓϩάϥϜͷࢿ࢈͕গͳ͍‣ ཧϞσϧʹམͱͨ͢Ίʹֶͷ͕ࣝͳ͍ͱ͍͠‣ ઐతͳاۀ͕ಠ͍ͯ͠Δײ͕͋Δ‣ ͦΕͧΕͷܭըߟ͑Δ͜ͱ͕ҧ͏‣ ݚڀ͍ͨ͠߹ΛߜΔ͖
·ͱΊ͜ΕҎ্ͷ࠷దԽͷγϛϡϨʔγϣϯͳͲ୭͔͕ͬͯ͘ΕΔͱ৴͍ͯ͡·͢ʂ
Thank you :)
͓·͚ - ๏ʢΧʔϚʔΧʔ๏ʣ