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

  1. ^ 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 .
  2. ^ 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 .
  3. ^   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 .
  4. ^   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 .
  5. ^    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 .
  6. ^    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 .
  7. ^   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 .
  8. ^   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 .
  9. ^   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 .
  10. ^   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