1 / 51

Scheduling to an Academic

Scheduling to an Academic. Use small examples to: Understand why scheduling is hard Develop possible solutions Eventually, evaluate candidate approaches based on performance on real problems. Why Scheduling is Like Tetris. Scheduling and Tetris.

rudolf
Download Presentation

Scheduling to an Academic

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Scheduling to an Academic • Use small examples to: • Understand why scheduling is hard • Develop possible solutions • Eventually, evaluate candidate approaches based on performance on real problems

  2. Why Scheduling is Like Tetris

  3. Scheduling and Tetris • The idea is to squish a lot of stuff into a small space • It helps to know what’s coming • I am terrible at both

  4. Fact: Computer scientists tend to work on problems at which they are personally lousy. Consequence: Beware of people who say that they are working on “general intelligence.”

  5. Summary • The idea is to squish a lot of stuff into a small space • It helps to know what’s coming • I am terrible at both • … but Tetris is much more forgiving than scheduling is

  6. A Scheduling Problem • The capacity of the red resource is one. • The capacity of the blue resource is infinite. • The capacity of the purple resource is two.

  7. How Scheduling Algorithms Work • Select the highest-priority unscheduled task whose predecessors have all been scheduled. • Schedule it at its current early start. • Repeat.

  8. How Scheduling Algorithms Work • Select the highest-priority unscheduled task whose predecessors have all been scheduled. • Schedule it at its current early start. • Repeat.

  9. Order Matters • Select the highest-priority unscheduled task whose predecessors have all been scheduled. • Schedule it at its current early start. • Repeat.

  10. Order Matters • The purple resource has capacity two. • The bottom task should not be scheduled last.

  11. Order Matters • The purple resource has capacity two. • The bottom task should not be scheduled last.

  12. Schedule the Longest Task First? 2 3 1

  13. Schedule the Longest Task First? 2 3 1

  14. Schedule the Least Float Task First 3 1 2

  15. No Obvious Order Works longest, least float

  16. No Obvious Order Works longest, least float

  17. The Example in Primavera • Use a silly order • Prioritize by hand longest, least float

  18. No Order Works

  19. Least Float First least float

  20. Most Float First? least float

  21. The Order That Works • Prioritize by hand? least float

  22. Prioritization by Hand

  23. 621448343096404116926135860762885873697881229555061590802593938705814398694973225768244969697549872466459211331307723222934059499375500591312311462263062638972198857427386275800177965460260837436333754748678114661327719837932994422089469537674875220051641220856036876567438952782651835281685046183446935121600884433220214022163050816904249773507649979259766512100178996611248560259547972522330921645841827091610996335339735904266580447135285596633216949587500251175851697844231941111552305342500087515174049892522731559680658044322980688337153362431075419045678033632266250323568148456063428038831079294520109236330698159421798902904274908609454224627297197822264492097122905790374744194969687752392582386688192593183422678000756026821830838987626418394041102809716294930699026084725733752847318517029394418786606553992716821718489982384192157537001932896131250631943633681189467961479262598187689423146398521528651148257886348255982470395382715173132935917531211523989263728429916678551354185652968566963645864064720556604790002966007301382142426967310238765855036962704559279771655828589828357410592561172112650144700823377277774844917598174793954191251363289313724549007183526098638082852166927602604403627227045631762603172038451934696146701875464727206540986344984273051025117100752992599815746823570857621533858507616933699581629261634833759150493282850381039706789459363641681965308835226476485669646614781066319520442956086989137341721247681805767152240136238943155825270070281358991370120989472112635242073148305334324743307565615947808119120667142981519609820839783441980967784858413017299010788743299335581166022612386817083059136350621281238273627570084234243361061701952131660132261439415834101325863726222928469945403036513648539096979925581960811221401304702882672547151855543911209604128169029976479084376757308969900362705933098628403761692026471018152946843097329759255029586568005475170968393360781924162630056703809177575714787616041316549055383352489236693453545876189455827691386118038717362972636679872518376368519668922131536605997268964078202539646617311748214195604136928181980869504372267254876390056777765211498180439161095964482394114085356187847227627642627343249645797394810148118697714351026659183496673396444246231541097122494092437846428835231108879960019706001548143125093728735987633057648091947442506338821364705074683543696486536107432973960606858778795554150007855499503470679858666679300017141261132537448860301160665538178348831089592428108530932048163481576677059413993130640131229306118976006754349880285256883992916805074599515341986006873636332693186944383648622703379705641488322599558709975778092260321996590147351458689855970701339840404287983200406733567912904918818159781327318240460293701507464828733406364188213282820725493911768387730463355967985440398989439291792235923275566239759208040473181182287164228374391476552942916971675639509970336666401830465248548093792526454845981804324483846938943838456425543679316625672949871108393583185494219766136437642858173572593940790958629369322340617121530688167641417295014180078668380546705799697586576953946836398864290713159088878652137731351998456039759514931922218152243562812345211545144024605656924046665066413737242802292979020683756474406444285058247998107344175777538502028497642681301080157996352436924757548884855717433963112917467603684606940903854173843229995685553894280655940022286993682310860470613144518505422149239110488079385052982329672431715467830393410721605953605249597168414373607901765918360003777680269195598383268631815433786538190222440148269143332059738135330250045419849854507327203694698743879860636650494483958559267248656219814376537450924362801727504939957738753685858820076420206582903128033727324960956893612345921688480584019062334994973753315978588150363570311300053510676893584925535316364239603546650869644644140444794858276955470082083207439999978643897544271888275689567525644690090942901239840347554032057171322224962317707287947059299938940143814573256255298500115550698610040764889755503322661546417288482862565635104375231950217080173374819888870291434764137734299528646947757132921622563752323400002197812187358137835356205707411472684521750056611006212041640392752169793138478190556265071869105971762252575337630580670462191723627827651281198965379615401263981540935120590441953580688486999068303536675563305160091763874848411204525393659688397380810367163178220071647336136969522695826344215351372681000132568208676743629549331428943005189314015036594224480075575809157206356137803076611828422125287478325755772539497157955777333648806734710749303097153285887442631594935681434108072726996737372915607810861443220961303370099325639544097803843341298067729614175975798675478158856166806320810914127981578721466132581575224772852967644724936568110098087988105803706490510073232516016844006645179461172608342171125877226266206914019349203915647354652149382674121420888077819978691602063392272949314268994109096732286342307448495124225709332974968650114894849297418403717991358550769700158004566630309091493020831746774282662029925663571226652322280828496507632915188074611493173612722669289503449716063461518908194587651655519434462171814965660889973526587424312347683384336021470986277266659941850962124302873741336126782790761856031604594153704414738037884512294875093083933256957042549567821705865140698993437152264175707029292545455744523287786089532412703349933914353552660195798014338597039321982884536154350101082197231639300898508271359231964200498656654377787383358671609146336276944831860928546128575939513725709329306331655318276599268566330949055676055594849072688030896802510973688626622876587191685186899097015628430310211145338977800395530305791697805490417154778323334554828543353276440161865221827685570877678598882691399434163663354038671058187168417869879568183488686554729108175422364172047127409629252659829249951435571579252294340475224380432341955536760758319118675440437558252229692774202307551734627407788147875346693750842552731450930255523011722941880905802527783354286954797104554408530375351381908781775168862859852629553022777005642149802294155932299655379321080666355608899834689155442691528777142150843252249227268687323258096884450181036384458086157468184940401289662741740072154217876573994464527266613512829661747820030087899472582805630205040150187443652036761970427526371851481130602945211633066767014025624519236067090945197907201366208453111853600915885774494827260614982588968066791719824473087451103055634643901035253908546354964091796925277504827856869174755505679403433358107447434462896760442182228491844498055306959335906417670470935375873958423075749473529896102227473365147577040361919683851029526754216443401706595553340692890254661398332892780466490120856222399035609817874612276930338909217278973209386701850134698351918654038521606951220595043467655427716126348922681448847092628728208145359439342909632613360828326635673832401203163117600493314712935598342023725743836728664044269849076071644703595482870176980513282599824637431660614367439722899014444293530893906776720294553051093939575936246271628805918372911611861643447490108722714453590059371075528006963533309158320154785301696488680095365005037953285939921104700277129332020138782391434150127205694326913499397143477714116337083426121228170847198605361294657400954799562998750325210732283722969433983337641699789197266925891993479457015947423385788159476413437802692592918747986540468633600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000621448343096404116926135860762885873697881229555061590802593938705814398694973225768244969697549872466459211331307723222934059499375500591312311462263062638972198857427386275800177965460260837436333754748678114661327719837932994422089469537674875220051641220856036876567438952782651835281685046183446935121600884433220214022163050816904249773507649979259766512100178996611248560259547972522330921645841827091610996335339735904266580447135285596633216949587500251175851697844231941111552305342500087515174049892522731559680658044322980688337153362431075419045678033632266250323568148456063428038831079294520109236330698159421798902904274908609454224627297197822264492097122905790374744194969687752392582386688192593183422678000756026821830838987626418394041102809716294930699026084725733752847318517029394418786606553992716821718489982384192157537001932896131250631943633681189467961479262598187689423146398521528651148257886348255982470395382715173132935917531211523989263728429916678551354185652968566963645864064720556604790002966007301382142426967310238765855036962704559279771655828589828357410592561172112650144700823377277774844917598174793954191251363289313724549007183526098638082852166927602604403627227045631762603172038451934696146701875464727206540986344984273051025117100752992599815746823570857621533858507616933699581629261634833759150493282850381039706789459363641681965308835226476485669646614781066319520442956086989137341721247681805767152240136238943155825270070281358991370120989472112635242073148305334324743307565615947808119120667142981519609820839783441980967784858413017299010788743299335581166022612386817083059136350621281238273627570084234243361061701952131660132261439415834101325863726222928469945403036513648539096979925581960811221401304702882672547151855543911209604128169029976479084376757308969900362705933098628403761692026471018152946843097329759255029586568005475170968393360781924162630056703809177575714787616041316549055383352489236693453545876189455827691386118038717362972636679872518376368519668922131536605997268964078202539646617311748214195604136928181980869504372267254876390056777765211498180439161095964482394114085356187847227627642627343249645797394810148118697714351026659183496673396444246231541097122494092437846428835231108879960019706001548143125093728735987633057648091947442506338821364705074683543696486536107432973960606858778795554150007855499503470679858666679300017141261132537448860301160665538178348831089592428108530932048163481576677059413993130640131229306118976006754349880285256883992916805074599515341986006873636332693186944383648622703379705641488322599558709975778092260321996590147351458689855970701339840404287983200406733567912904918818159781327318240460293701507464828733406364188213282820725493911768387730463355967985440398989439291792235923275566239759208040473181182287164228374391476552942916971675639509970336666401830465248548093792526454845981804324483846938943838456425543679316625672949871108393583185494219766136437642858173572593940790958629369322340617121530688167641417295014180078668380546705799697586576953946836398864290713159088878652137731351998456039759514931922218152243562812345211545144024605656924046665066413737242802292979020683756474406444285058247998107344175777538502028497642681301080157996352436924757548884855717433963112917467603684606940903854173843229995685553894280655940022286993682310860470613144518505422149239110488079385052982329672431715467830393410721605953605249597168414373607901765918360003777680269195598383268631815433786538190222440148269143332059738135330250045419849854507327203694698743879860636650494483958559267248656219814376537450924362801727504939957738753685858820076420206582903128033727324960956893612345921688480584019062334994973753315978588150363570311300053510676893584925535316364239603546650869644644140444794858276955470082083207439999978643897544271888275689567525644690090942901239840347554032057171322224962317707287947059299938940143814573256255298500115550698610040764889755503322661546417288482862565635104375231950217080173374819888870291434764137734299528646947757132921622563752323400002197812187358137835356205707411472684521750056611006212041640392752169793138478190556265071869105971762252575337630580670462191723627827651281198965379615401263981540935120590441953580688486999068303536675563305160091763874848411204525393659688397380810367163178220071647336136969522695826344215351372681000132568208676743629549331428943005189314015036594224480075575809157206356137803076611828422125287478325755772539497157955777333648806734710749303097153285887442631594935681434108072726996737372915607810861443220961303370099325639544097803843341298067729614175975798675478158856166806320810914127981578721466132581575224772852967644724936568110098087988105803706490510073232516016844006645179461172608342171125877226266206914019349203915647354652149382674121420888077819978691602063392272949314268994109096732286342307448495124225709332974968650114894849297418403717991358550769700158004566630309091493020831746774282662029925663571226652322280828496507632915188074611493173612722669289503449716063461518908194587651655519434462171814965660889973526587424312347683384336021470986277266659941850962124302873741336126782790761856031604594153704414738037884512294875093083933256957042549567821705865140698993437152264175707029292545455744523287786089532412703349933914353552660195798014338597039321982884536154350101082197231639300898508271359231964200498656654377787383358671609146336276944831860928546128575939513725709329306331655318276599268566330949055676055594849072688030896802510973688626622876587191685186899097015628430310211145338977800395530305791697805490417154778323334554828543353276440161865221827685570877678598882691399434163663354038671058187168417869879568183488686554729108175422364172047127409629252659829249951435571579252294340475224380432341955536760758319118675440437558252229692774202307551734627407788147875346693750842552731450930255523011722941880905802527783354286954797104554408530375351381908781775168862859852629553022777005642149802294155932299655379321080666355608899834689155442691528777142150843252249227268687323258096884450181036384458086157468184940401289662741740072154217876573994464527266613512829661747820030087899472582805630205040150187443652036761970427526371851481130602945211633066767014025624519236067090945197907201366208453111853600915885774494827260614982588968066791719824473087451103055634643901035253908546354964091796925277504827856869174755505679403433358107447434462896760442182228491844498055306959335906417670470935375873958423075749473529896102227473365147577040361919683851029526754216443401706595553340692890254661398332892780466490120856222399035609817874612276930338909217278973209386701850134698351918654038521606951220595043467655427716126348922681448847092628728208145359439342909632613360828326635673832401203163117600493314712935598342023725743836728664044269849076071644703595482870176980513282599824637431660614367439722899014444293530893906776720294553051093939575936246271628805918372911611861643447490108722714453590059371075528006963533309158320154785301696488680095365005037953285939921104700277129332020138782391434150127205694326913499397143477714116337083426121228170847198605361294657400954799562998750325210732283722969433983337641699789197266925891993479457015947423385788159476413437802692592918747986540468633600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

  24. Prioritization by Hand • Unlikely to work in practice • What can you do? • Being good at Tetris will • not save you

  25. Outline • If you want a good schedule, prioritization matters • Not obvious how to prioritize automatically • Prioritization by hand is impractical • Schedule packing • Squeaky wheel optimization • How it works • Strengths, weaknesses • Access

  26. Schedule Packing WARNING: Contents may have settled during shipping

  27. Schedule Packing • Slide tasks as far to right as possible • Reschedule using start time as priority 3 4 1 2

  28. Outline • If you want a good schedule, prioritization matters • Not obvious how to prioritize automatically • Prioritization by hand is impractical • Schedule packing • Squeaky wheel optimization • How it works • Strengths, weaknesses • Access

  29. Squeaky Wheel Optimization • Too many priority orders to figure out the best one • Use search

  30. Primavera • schedule packing • squeaky wheel P=NP? think search

  31. Solving Problems Using Search • The key is to control the search

  32. 621448343096404116926135860762885873697881229555061590802593938705814398694973225768244969697549872466459211331307723222934059499375500591312311462263062638972198857427386275800177965460260837436333754748678114661327719837932994422089469537674875220051641220856036876567438952782651835281685046183446935121600884433220214022163050816904249773507649979259766512100178996611248560259547972522330921645841827091610996335339735904266580447135285596633216949587500251175851697844231941111552305342500087515174049892522731559680658044322980688337153362431075419045678033632266250323568148456063428038831079294520109236330698159421798902904274908609454224627297197822264492097122905790374744194969687752392582386688192593183422678000756026821830838987626418394041102809716294930699026084725733752847318517029394418786606553992716821718489982384192157537001932896131250631943633681189467961479262598187689423146398521528651148257886348255982470395382715173132935917531211523989263728429916678551354185652968566963645864064720556604790002966007301382142426967310238765855036962704559279771655828589828357410592561172112650144700823377277774844917598174793954191251363289313724549007183526098638082852166927602604403627227045631762603172038451934696146701875464727206540986344984273051025117100752992599815746823570857621533858507616933699581629261634833759150493282850381039706789459363641681965308835226476485669646614781066319520442956086989137341721247681805767152240136238943155825270070281358991370120989472112635242073148305334324743307565615947808119120667142981519609820839783441980967784858413017299010788743299335581166022612386817083059136350621281238273627570084234243361061701952131660132261439415834101325863726222928469945403036513648539096979925581960811221401304702882672547151855543911209604128169029976479084376757308969900362705933098628403761692026471018152946843097329759255029586568005475170968393360781924162630056703809177575714787616041316549055383352489236693453545876189455827691386118038717362972636679872518376368519668922131536605997268964078202539646617311748214195604136928181980869504372267254876390056777765211498180439161095964482394114085356187847227627642627343249645797394810148118697714351026659183496673396444246231541097122494092437846428835231108879960019706001548143125093728735987633057648091947442506338821364705074683543696486536107432973960606858778795554150007855499503470679858666679300017141261132537448860301160665538178348831089592428108530932048163481576677059413993130640131229306118976006754349880285256883992916805074599515341986006873636332693186944383648622703379705641488322599558709975778092260321996590147351458689855970701339840404287983200406733567912904918818159781327318240460293701507464828733406364188213282820725493911768387730463355967985440398989439291792235923275566239759208040473181182287164228374391476552942916971675639509970336666401830465248548093792526454845981804324483846938943838456425543679316625672949871108393583185494219766136437642858173572593940790958629369322340617121530688167641417295014180078668380546705799697586576953946836398864290713159088878652137731351998456039759514931922218152243562812345211545144024605656924046665066413737242802292979020683756474406444285058247998107344175777538502028497642681301080157996352436924757548884855717433963112917467603684606940903854173843229995685553894280655940022286993682310860470613144518505422149239110488079385052982329672431715467830393410721605953605249597168414373607901765918360003777680269195598383268631815433786538190222440148269143332059738135330250045419849854507327203694698743879860636650494483958559267248656219814376537450924362801727504939957738753685858820076420206582903128033727324960956893612345921688480584019062334994973753315978588150363570311300053510676893584925535316364239603546650869644644140444794858276955470082083207439999978643897544271888275689567525644690090942901239840347554032057171322224962317707287947059299938940143814573256255298500115550698610040764889755503322661546417288482862565635104375231950217080173374819888870291434764137734299528646947757132921622563752323400002197812187358137835356205707411472684521750056611006212041640392752169793138478190556265071869105971762252575337630580670462191723627827651281198965379615401263981540935120590441953580688486999068303536675563305160091763874848411204525393659688397380810367163178220071647336136969522695826344215351372681000132568208676743629549331428943005189314015036594224480075575809157206356137803076611828422125287478325755772539497157955777333648806734710749303097153285887442631594935681434108072726996737372915607810861443220961303370099325639544097803843341298067729614175975798675478158856166806320810914127981578721466132581575224772852967644724936568110098087988105803706490510073232516016844006645179461172608342171125877226266206914019349203915647354652149382674121420888077819978691602063392272949314268994109096732286342307448495124225709332974968650114894849297418403717991358550769700158004566630309091493020831746774282662029925663571226652322280828496507632915188074611493173612722669289503449716063461518908194587651655519434462171814965660889973526587424312347683384336021470986277266659941850962124302873741336126782790761856031604594153704414738037884512294875093083933256957042549567821705865140698993437152264175707029292545455744523287786089532412703349933914353552660195798014338597039321982884536154350101082197231639300898508271359231964200498656654377787383358671609146336276944831860928546128575939513725709329306331655318276599268566330949055676055594849072688030896802510973688626622876587191685186899097015628430310211145338977800395530305791697805490417154778323334554828543353276440161865221827685570877678598882691399434163663354038671058187168417869879568183488686554729108175422364172047127409629252659829249951435571579252294340475224380432341955536760758319118675440437558252229692774202307551734627407788147875346693750842552731450930255523011722941880905802527783354286954797104554408530375351381908781775168862859852629553022777005642149802294155932299655379321080666355608899834689155442691528777142150843252249227268687323258096884450181036384458086157468184940401289662741740072154217876573994464527266613512829661747820030087899472582805630205040150187443652036761970427526371851481130602945211633066767014025624519236067090945197907201366208453111853600915885774494827260614982588968066791719824473087451103055634643901035253908546354964091796925277504827856869174755505679403433358107447434462896760442182228491844498055306959335906417670470935375873958423075749473529896102227473365147577040361919683851029526754216443401706595553340692890254661398332892780466490120856222399035609817874612276930338909217278973209386701850134698351918654038521606951220595043467655427716126348922681448847092628728208145359439342909632613360828326635673832401203163117600493314712935598342023725743836728664044269849076071644703595482870176980513282599824637431660614367439722899014444293530893906776720294553051093939575936246271628805918372911611861643447490108722714453590059371075528006963533309158320154785301696488680095365005037953285939921104700277129332020138782391434150127205694326913499397143477714116337083426121228170847198605361294657400954799562998750325210732283722969433983337641699789197266925891993479457015947423385788159476413437802692592918747986540468633600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000621448343096404116926135860762885873697881229555061590802593938705814398694973225768244969697549872466459211331307723222934059499375500591312311462263062638972198857427386275800177965460260837436333754748678114661327719837932994422089469537674875220051641220856036876567438952782651835281685046183446935121600884433220214022163050816904249773507649979259766512100178996611248560259547972522330921645841827091610996335339735904266580447135285596633216949587500251175851697844231941111552305342500087515174049892522731559680658044322980688337153362431075419045678033632266250323568148456063428038831079294520109236330698159421798902904274908609454224627297197822264492097122905790374744194969687752392582386688192593183422678000756026821830838987626418394041102809716294930699026084725733752847318517029394418786606553992716821718489982384192157537001932896131250631943633681189467961479262598187689423146398521528651148257886348255982470395382715173132935917531211523989263728429916678551354185652968566963645864064720556604790002966007301382142426967310238765855036962704559279771655828589828357410592561172112650144700823377277774844917598174793954191251363289313724549007183526098638082852166927602604403627227045631762603172038451934696146701875464727206540986344984273051025117100752992599815746823570857621533858507616933699581629261634833759150493282850381039706789459363641681965308835226476485669646614781066319520442956086989137341721247681805767152240136238943155825270070281358991370120989472112635242073148305334324743307565615947808119120667142981519609820839783441980967784858413017299010788743299335581166022612386817083059136350621281238273627570084234243361061701952131660132261439415834101325863726222928469945403036513648539096979925581960811221401304702882672547151855543911209604128169029976479084376757308969900362705933098628403761692026471018152946843097329759255029586568005475170968393360781924162630056703809177575714787616041316549055383352489236693453545876189455827691386118038717362972636679872518376368519668922131536605997268964078202539646617311748214195604136928181980869504372267254876390056777765211498180439161095964482394114085356187847227627642627343249645797394810148118697714351026659183496673396444246231541097122494092437846428835231108879960019706001548143125093728735987633057648091947442506338821364705074683543696486536107432973960606858778795554150007855499503470679858666679300017141261132537448860301160665538178348831089592428108530932048163481576677059413993130640131229306118976006754349880285256883992916805074599515341986006873636332693186944383648622703379705641488322599558709975778092260321996590147351458689855970701339840404287983200406733567912904918818159781327318240460293701507464828733406364188213282820725493911768387730463355967985440398989439291792235923275566239759208040473181182287164228374391476552942916971675639509970336666401830465248548093792526454845981804324483846938943838456425543679316625672949871108393583185494219766136437642858173572593940790958629369322340617121530688167641417295014180078668380546705799697586576953946836398864290713159088878652137731351998456039759514931922218152243562812345211545144024605656924046665066413737242802292979020683756474406444285058247998107344175777538502028497642681301080157996352436924757548884855717433963112917467603684606940903854173843229995685553894280655940022286993682310860470613144518505422149239110488079385052982329672431715467830393410721605953605249597168414373607901765918360003777680269195598383268631815433786538190222440148269143332059738135330250045419849854507327203694698743879860636650494483958559267248656219814376537450924362801727504939957738753685858820076420206582903128033727324960956893612345921688480584019062334994973753315978588150363570311300053510676893584925535316364239603546650869644644140444794858276955470082083207439999978643897544271888275689567525644690090942901239840347554032057171322224962317707287947059299938940143814573256255298500115550698610040764889755503322661546417288482862565635104375231950217080173374819888870291434764137734299528646947757132921622563752323400002197812187358137835356205707411472684521750056611006212041640392752169793138478190556265071869105971762252575337630580670462191723627827651281198965379615401263981540935120590441953580688486999068303536675563305160091763874848411204525393659688397380810367163178220071647336136969522695826344215351372681000132568208676743629549331428943005189314015036594224480075575809157206356137803076611828422125287478325755772539497157955777333648806734710749303097153285887442631594935681434108072726996737372915607810861443220961303370099325639544097803843341298067729614175975798675478158856166806320810914127981578721466132581575224772852967644724936568110098087988105803706490510073232516016844006645179461172608342171125877226266206914019349203915647354652149382674121420888077819978691602063392272949314268994109096732286342307448495124225709332974968650114894849297418403717991358550769700158004566630309091493020831746774282662029925663571226652322280828496507632915188074611493173612722669289503449716063461518908194587651655519434462171814965660889973526587424312347683384336021470986277266659941850962124302873741336126782790761856031604594153704414738037884512294875093083933256957042549567821705865140698993437152264175707029292545455744523287786089532412703349933914353552660195798014338597039321982884536154350101082197231639300898508271359231964200498656654377787383358671609146336276944831860928546128575939513725709329306331655318276599268566330949055676055594849072688030896802510973688626622876587191685186899097015628430310211145338977800395530305791697805490417154778323334554828543353276440161865221827685570877678598882691399434163663354038671058187168417869879568183488686554729108175422364172047127409629252659829249951435571579252294340475224380432341955536760758319118675440437558252229692774202307551734627407788147875346693750842552731450930255523011722941880905802527783354286954797104554408530375351381908781775168862859852629553022777005642149802294155932299655379321080666355608899834689155442691528777142150843252249227268687323258096884450181036384458086157468184940401289662741740072154217876573994464527266613512829661747820030087899472582805630205040150187443652036761970427526371851481130602945211633066767014025624519236067090945197907201366208453111853600915885774494827260614982588968066791719824473087451103055634643901035253908546354964091796925277504827856869174755505679403433358107447434462896760442182228491844498055306959335906417670470935375873958423075749473529896102227473365147577040361919683851029526754216443401706595553340692890254661398332892780466490120856222399035609817874612276930338909217278973209386701850134698351918654038521606951220595043467655427716126348922681448847092628728208145359439342909632613360828326635673832401203163117600493314712935598342023725743836728664044269849076071644703595482870176980513282599824637431660614367439722899014444293530893906776720294553051093939575936246271628805918372911611861643447490108722714453590059371075528006963533309158320154785301696488680095365005037953285939921104700277129332020138782391434150127205694326913499397143477714116337083426121228170847198605361294657400954799562998750325210732283722969433983337641699789197266925891993479457015947423385788159476413437802692592918747986540468633600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

  33. Solving Problems Using Search • The key is to control the search • A machine can look at many candidate schedules, but it still needs to focus on schedules that are likely to be good • Squeaky wheel: Analyze the current schedule before generating the next one

  34. Squeaky Wheel Optimization • C-A-P loop • Construct • Analyze • Prioritize

  35. Squeaky Wheel Optimization • C-A-P loop • Construct a schedule from current priorities • Analyze • Prioritize

  36. Squeaky Wheel Optimization • C-A-P loop • Construct a schedule from current priorities • Analyze to evaluate performance by task • Prioritize

  37. Squeaky Wheel Optimization • C-A-P loop • Construct a schedule from current priorities • Analyze to evaluate performance by task • Prioritize so that poorly scheduled tasks become more important • The squeaky wheel gets the grease!

  38. Squeaky Wheel Where no Order Worked 3 1 2 1 3 2

  39. Squeaky Wheel Where no Order Worked 3 • Search improves your ability to find good solutions, even if you guess wrong initially 1 2

  40. Schedule Packing on This Problem

  41. Squeaky Wheel

  42. Enough Already with the Toy Problems! • Turnaround data from existing Primavera customer • 12,248 tasks, analyzed in 4.5 minutes

  43. Schedule Packing Simple Fast (because no search) Patented by Boeing Squeaky Wheel Not so simple Potentially slower because of search Better coverage Patented by U Oregon Available as an addon for Primavera 5.0 Pros and Cons

  44. PSOP Demo

  45. One Last Example sand and prepare -1 mix and paint

  46. One Last Example sand and prepare • No predecessor-based algorithms works! • Squeaky wheel need not follow “network” order • Schedule packing does -1 mix and paint

  47. Schedule Packing Simple Fast (because no search) Patented by Boeing Add search? Squeaky Wheel Not so simple Potentially slower because of search Still Patented by U Oregon Available as an addon for Primavera 5.0 Pros and Cons Better coverage

More Related