Schemaläggning av identiska maskiner
Schemaläggning av identiska maskiner är ett optimeringsproblem inom datavetenskap och operationsforskning . Vi får n jobb J 1 , J 2 , ..., J n med varierande bearbetningstider, som behöver schemaläggas på m identiska maskiner, så att en viss objektiv funktion optimeras, till exempel minimeras fabrikatet .
Identisk maskinschemaläggning är ett specialfall av enhetlig maskinschemaläggning , vilket i sig är ett specialfall av optimal jobbschemaläggning . I det allmänna fallet kan handläggningstiden för varje jobb vara olika på olika maskiner; i fallet med identisk maskinschemaläggning är bearbetningstiden för varje jobb densamma på varje maskin. Därför är identisk maskinschemaläggning likvärdig med flervägsnummerpartitionering . Ett specialfall av identisk maskinschemaläggning är enmaskinsschemaläggning .
I standardnotationen med tre fält för optimala jobbschemaläggningsproblem betecknas varianten av identiska maskiner med P i det första fältet. Till exempel, " P|| " är ett identiskt maskinschemaläggningsproblem utan några begränsningar, där målet är att minimera den maximala slutförandetiden.
I vissa varianter av problemet, istället för att minimera den maximala färdigställandetiden, är det önskvärt att minimera den genomsnittliga färdigställandetiden (i genomsnitt över alla n jobb); den betecknas med P|| . Mer generellt, när vissa jobb är viktigare än andra, kan det vara önskvärt att minimera ett viktat genomsnitt av färdigställandetiden, där varje jobb har olika vikt. Detta betecknas med P|| .
Algoritmer
Minimera genomsnittlig och viktad genomsnittlig slutförandetid
Minimering av den genomsnittliga slutförandetiden ( P|| ) kan göras i polynomtid. SPT -algoritmen (Shortest Processing Time First), sorterar jobben efter deras längd, kortast först, och tilldelar dem sedan till processorn med den tidigaste sluttiden hittills. Den körs i tiden O( n log n ), och minimerar den genomsnittliga slutförandetiden på identiska maskiner, P|| .
- Det kan finnas många SPT-scheman; att hitta SPT-schemat med den minsta sluttiden (även kallad OMFT – optimal medelsluttid ) är NP-svårt.
Att minimera den viktade genomsnittliga färdigställandetiden är NP-svårt även på identiska maskiner, genom att minska från ryggsäcksproblemet . Det är NP-svårt även om antalet maskiner är fixat och minst 2, genom reduktion från partitionsproblemet .
Sahni presenterar en exponentiell tidsalgoritm och ett polynom-tidsapproximationsschema för att lösa båda dessa NP-hårda problem på identiska maskiner:
- Optimal genomsnittlig slutförandetid;
- Viktad-genomsnittlig färdigställandetid.
Minimera den maximala slutförandetiden (makespan)
Att minimera den maximala slutförandetiden ( P|| ) är NP-svårt även för identiska maskiner, genom reduktion från partitionsproblemet . Många exakta och approximativa algoritmer är kända.
Graham bevisade att:
- Alla listschemaläggningsalgoritmer (en algoritm som bearbetar jobben i en godtycklig fast ordning och schemalägger varje jobb till den första tillgängliga maskinen) är en approximation för identiska maskiner. Bindningen är tät för alla m . Denna algoritm körs i tiden O( n ).
- Den specifika listschemaläggningsalgoritmen som kallas Processing Time First (LPT) , som sorterar jobben efter fallande längd, är en approximation för . Det kallas även girig nummerpartitionering .
Coffman, Garey och Johnson presenterade en annan algoritm som kallas multifit algorithm , med tekniker från bin packing , som har en approximationsfaktor på 13/11≈1,182.
Huang och Lu presenterade en enkel polynom-tidsalgoritm som uppnår en 11/9≈1,222 approximation i tiden O( m log m + n ), genom det mer allmänna problemet med maximin-share allokering av sysslor .
Sahni presenterade en PTAS som uppnår (1+ε)OPT i tiden . Det är en FPTAS om m är fast. För m=2 förbättras körtiden till . Algoritmen använder en teknik som kallas intervallpartitionering .
Hochbaum och Shmoys presenterade flera approximationsalgoritmer för valfritt antal identiska maskiner (även när antalet maskiner inte är fast):
- För varje r >0, en algoritm med approximationsförhållande som mest (6/5+2 − r ) i tiden .
- För varje r >0, en algoritm med approximationsförhållande som mest (7/6+2 − r ) i tiden .
- För varje ε >0, en algoritm med approximationsförhållande som mest (1+ε) i tiden . Detta är en PTAS . Observera att när antalet maskiner är en del av inmatningen är problemet starkt NP-hårt , så ingen FPTAS är möjlig.
Leung förbättrade körtiden för denna algoritm till .
Maximera den minsta slutförandetiden
Maximering av minsta färdigställandetid ( P|| ) är tillämpligt när "jobben" faktiskt är reservdelar som krävs för att hålla maskinerna igång, och de har olika livslängder. Målet är att hålla maskinerna igång så länge som möjligt. LPT -algoritmen uppnår minst av det optimala.
Woeginger presenterade en PTAS som uppnår en approximationsfaktor på i tiden , där en enorm konstant som är exponentiell i den erforderliga approximationsfaktorn ε. Algoritmen använder Lenstras algoritm för linjär heltalsprogrammering .
Allmänna målfunktioner
Alon, Azar, Woeginger och Yadid överväger en mer allmän objektiv funktion. Givet en positiv reell funktion f , som endast beror på slutförandetiderna C i , överväger de målen att minimera , minimerar , maximerar maximera . De bevisar att om f är icke-negativ, konvex och uppfyller ett starkt kontinuitetsantagande som de kallar "F*", så har båda minimeringsproblemen en PTAS. På liknande sätt, om f är icke-negativ, konkav och uppfyller F*, så har båda maximeringsproblemen en PTAS. I båda fallen är körtiden för PTAS O( n ), men med konstanter som är exponentiella i 1/ ε.
Se även
- ^ a b Horowitz, Ellis; Sahni, Sartaj (1976-04-01). "Exakta och ungefärliga algoritmer för att schemalägga icke-identiska processorer" . Journal of the ACM . 23 (2): 317–327. doi : 10.1145/321941.321951 . ISSN 0004-5411 . S2CID 18693114 .
- ^ a b c Sahni, Sartaj K. (1976-01-01). "Algoritmer för att schemalägga oberoende uppgifter" . Journal of the ACM . 23 (1): 116–127. doi : 10.1145/321921.321934 . ISSN 0004-5411 . S2CID 10956951 .
- ^ Graham, Ron L. (1966). "Gränser för vissa multibearbetningsavvikelser" . Bell System teknisk journal . 45 (9): 1563–1581. doi : 10.1002/j.1538-7305.1966.tb01709.x . ISSN 1538-7305 .
- ^ Graham, Ron L. (1969-03-01). "Gränser för multiprocessing timing anomalier" . SIAM Journal on Applied Mathematics . 17 (2): 416–429. doi : 10.1137/0117039 . ISSN 0036-1399 .
- ^ Huang, Xin; Lu, Pinyan (2021-07-18). "Ett algoritmiskt ramverk för att uppskatta maximal andel fördelning av sysslor" . Proceedings of the 22nd ACM Conference on Economics and Computation . EC '21. Budapest, Ungern: Association for Computing Machinery: 630–631. arXiv : 1907.04505 . doi : 10.1145/3465456.3467555 . ISBN 978-1-4503-8554-1 . S2CID 195874333 .
- ^ Hochbaum, Dorit S.; Shmoys, David B. (1987-01-01). "Använda dubbla approximationsalgoritmer för att schemalägga problem teoretiska och praktiska resultat" . Journal of the ACM . 34 (1): 144–162. doi : 10.1145/7531.7535 . ISSN 0004-5411 . S2CID 9739129 .
- ^ Leung, Joseph YT. (1989-05-08). "Linpackning med begränsade styckestorlekar" . Informationsbehandlingsbrev . 31 (3): 145–149. doi : 10.1016/0020-0190(89)90223-8 . ISSN 0020-0190 .
- ^ Friesen, DK; Deuermeyer, BL (1981-02-01). "Analys av giriga lösningar för ett sekvenseringsproblem med ersättningsdelar" . Operationsforskningens matematik . 6 (1): 74–87. doi : 10.1287/moor.6.1.74 . ISSN 0364-765X .
- ^ Woeginger, Gerhard J. (1997-05-01). "Ett approximationsschema för polynom-tid för att maximera den minsta slutförandetiden för maskinen" . Operations Research Letters . 20 (4): 149–154. doi : 10.1016/S0167-6377(96)00055-7 . ISSN 0167-6377 .
- ^ Alon, Noga; Azar, Yossi; Woeinger, Gerhard J.; Yadid, Tal (1998). "Approximationsscheman för schemaläggning på parallella maskiner" . Journal of Scheduling . 1 (1): 55–66. doi : 10.1002/(SICI)1099-1425(199806)1:1<55::AID-JOS2>3.0.CO;2-J . ISSN 1099-1425 .
externa länkar