Vetoshkin și

Vetoshkin AA Kostyakov AI problemele de transport degenerați și cum să-l lupta

După cum se știe, problema de transport este deschis și închis. Deschideți este problema, în care furnizorii și clienții de echilibru nu este egal. Acest fenomen apare de obicei destul de des. Mod de a face cu acest unic și simplu: adăugați un furnizor fictiv, în cazul în care soldul furnizor este mai mică decât soldul consumatorilor, și vice-versa.

Din păcate, este cunoscut, de asemenea, că problema de transport este degenerat și non-degenerat. Degenerată este o astfel de problemă, în care numărul de celule în termeni de mai puțin de m + n-1, unde m - numărul de furnizori, n - numărul de consumatori. Este clar că acest fenomen este, de asemenea, comun. Mod de a face cu ea la fiecare din celulele plasate accidental nule în planul înainte de busting la rândul său, toate celulele goale. Nici una, nici alta nu garantează că noua celula nu este plasată formează o buclă cu celulele existente.

La prima vedere, se pare că degenerării problemei - fenomenul aleator și care nu sunt supuse nici unei legi. Chiar mai mult decât atât, planurile de bază, prin utilizarea diferitelor metode, cum ar fi colțul de nord-vest și dat degenerat valoarea minimă și planurile nedegenerat pentru aceeași sarcină. Acest lucru dă naștere în mod natural la gândul: ascuns degenerării în problema, sau o metodă de creare a unui plan de a crea. Dar când aceasta nu funcționează într-o altă problemă, dimpotrivă, metoda care tocmai a stabilit un plan normal de nedegenerata rămâne unul crezut degenerării - fenomen nelumesc și nu depinde de sarcină și metodele de creare a planului.

Și totuși, există o cale nu numai pentru a scăpa de degenerări, ci pentru a „distruge“ definitiv. Cum? Care este natura degenerării și în cazul în care acesta se produce? Să considerăm, în această ordine: natura degenerării; cum (și de ce) este degenerat; cum să se ocupe cu ea.

Deci, natura degenerării. Degenerarea - atunci când nu există nici o celulă ecuații pentru a determina potențialul în plan. Acest lucru, atunci când este necesar pentru funcționarea normală a m + n-1 ecuații, și, din păcate, m + n-2. Și chiar mai rău, în cazul în care se obține doar m, în această problemă (a se vedea. Tabelul 1) folosind unghiul Northwestern metoda.

Destinatar> Sursa v

Acesta va fi arătat și dovedit modul în care puteți crea un plan care are două avantaje foarte importante: numărul de celule este exact m + n-1, absența completă a ciclurilor. Pentru a face acest lucru, în cazul în care furnizorul și receptorul sunt resetate, adăugați celula cu o valoare de zero la orice coloană neocupat (această operație o parte, se întâmplă realizat intuitiv). Dacă nu există nici o coloană vacantă, atunci nu se iau măsuri. Pur și simplu, acest lucru înseamnă că toate coloanele sunt setate la zero, și se face planul. Desigur, există două întrebări cu privire la educația cu participarea ciclurilor de celule zero și degenerării planului rezultat. Pentru a rezolva prima întrebare, vom demonstra teorema „cu privire la eșecul de a executa ciclul.“ Apoi contoriza numărul de celule care rezultă, și este comparabil cu m + n-1.

Teorema privind imposibilitatea unei bucle încorporate

coloana ocupată - o coloană care conține celula, iar valoarea planului a beneficiarului este 0.

coloana Neutilizat - o coloană care conține celula, iar valoarea planului a destinatarului nu este egal cu 0, sau în coloana nici un plan de celule singulare.

N construct - secțiune verticală a coloanei k (corp) îndeplinesc pe liniile i și j și două „cozi“ orizontale, în aceeași direcție, de exemplu, drept. Orice altă orientare sunt reduse la acest lucru prin rotație sau reflexie.

Formulare: În cazul în care la crearea unui plan pentru ambele furnizor și receptor sunt resetate, iar celula zero este plasat în orice ciclu coloană neocupat se formează.

Dovada: fiecare ciclu cuprinde o structură în formă de U sunt desemnate numerele 1 la 4 (a se vedea figura 1.).

Figura 1. Diferite tipuri de cicluri.

Acest construct în problema poate fi reprezentat ca (1,1), (1,2), (2,2), (2,1) sau (2,1), (1,1), (1,2) (2.2) (a se vedea. Tabelul 6). Apare când celula este plasat în zero (1.1), în prezența celulelor ocupate (1,2), (2,2), (2,1).

Dacă putem dovedi că acest design poate să nu apară în acest caz, aceasta ar însemna că ciclurile create de regulile planului imposibil.

Lema: Dreptul de a elabora planuri de U-modele nu apar.

Dovada: Verificăm opțiunile de situații în care pot fi formate această structură. În toate cazurile tratate de linia j.

1. Rândul I este ocupat de o singură celulă, iar prelucrarea acesteia este terminat.

2. Rândul I este ocupat de o singură celulă, iar prelucrarea acesteia este terminat.

3. Rândul I este ocupat de mai mult de o celulă.

Pentru a nu confunda dovezile, să accepte în mod condiționat faptul că, în alte linii nu au nici celule ocupate. În caz contrar, ca linia de toate, la rândul său i-line pentru a verifica.

În primul caz, într-un rând în j coloanei, unde i este rând ocupată de o celulă, acesta poate fi introdus ca un plan de celulă și o celulă zero în rândul i pentru că nu există nici o „coadă“, ca element al P-structurii. examinare suplimentară va lua în considerare în cazul unei coloana 3, în care am pus cele două cuști.

În al doilea caz, rândul j în aceeași coloană nu pot posta nimic, deoarece coloana este deja ocupată (amintiți-vă cum apar planul de celule). Așa că baza pentru construcția P-nr.

Prin urmare, „colț“ din dovada este cazul 3. Este evident că toate coloanele în care sunt linia de celule situate angajat I, ocupat, dar unul în care linia adus la zero (desigur, două sau mai multe coloane neocupate în prezența planului înseamnă că linia celulară am adus la zero de mai multe ori, ceea ce este imposibil). Dar el poate fi ocupat, dacă este adus la zero împreună cu un șir de caractere. Dacă toate coloanele sunt pline, ca și în cazul 2, baza pentru construirea P-nr.

Rămâne o posibilitate - singura coloana neocupat. Pune-o cușcă. Dacă rândul j adus la zero, iar coloana - nu, este afișată coada celulei. În cazul în care coloana adus la zero, apoi am pus un zero în coloana liberă de celule, ca parte a planului. Acest ciclu celular nu este închis, din cauza rândul i nu va planifica noi celule (toate coloanele setate la zero), iar cele existente, cu atingerea acestor metode nu se aplică la coloana neocupat.

Astfel, structura P-bine pentru a face planuri nu apar. Și, prin urmare, ciclurile nu sunt formate. QED.

Să ne întoarcem la problema degenerării planului rezultat. Să ne amintim că fiecare plan de celule este în esență o singură ecuație în potențială metodă de conectare a două variabile v (i) și u (j). În calcule, o variabilă este definită, a doua definiție. Avem nevoie pentru a conta cât de multe variabile definite sunt disponibile în toate celulele ecuații.

Să presupunem că în rândul i este m (i) celule, în afară de zero. Să vedem ce definesc aceste ecuații. Dacă rândul i în procesul de intrare în planul celulei (i, j) este setat la zero, iar j coloanei - nu, această ecuație este determinată de variabila v (i) și (m (i) - 1) variabile u, cu excepția, desigur, variabila u ( j), care se determină când nulled coloana j. În cazul în care coloana este resetat împreună cu un șir de caractere, este determinat m (i) variabilele u și adăugarea unei celule zero este determinată de variabila v (i) (nu uitați că există un zero, umplute cu celule în ultimul rând). Acum vom calcula ecuații și variabile. Deoarece toate coloanele în procesul de elaborare a setului planului de zero, suma m (i) este egal cu numărul total de coloane, adică m. Deoarece resetarea fiecărei linii (cu excepția ultimului) este determinată de o singură variabilă v (i), apoi după resetare toate rândurile am determinat n-1 variabile. Numărul total de anumite variabile este m + (n-1). După cum este necesar!

CONCLUZIE: Aplicarea regulii „Dacă creați un plan de atât furnizorul cât și destinatarul sunt eliminate, planul de celule zero, se potrivește în orice coloană neocupat“ vom obține un non-degenerat și planul nezatsiklenny și fără trucuri.

În cele din urmă vom da un plan de bază elaborat ținând seama de regulile și iterație planul optim al problemei, cu potențiale diferențe și planul de preț (estimat).

Adăugarea la cele de mai sus: În pregătirea planului, unele rânduri și coloane au mai multe celule. În timpul următoarei iterație a metodei de calcul a potențialului necesar pentru a găsi inelul care conține nou introduse în planul de celule. Este suficient pentru a șterge (temporar - pentru iterație acest lucru) celule, care sunt într-un rând sau o coloană la singular. Acest fapt înseamnă că intrarea în celulă, este imposibil să iasă din ea. Pentru a face o astfel de operațiune este necesară pentru recursiv până când nu mai există mai multe celule singulare. Nu este greu de înțeles că celulele rămase și, astfel, va ciclu. Din nou, fără trucuri (nu uita după conversie pentru a returna toate celulele șterse temporar în loc).

Eliminarea degenerării în planul existent

În cazul în care planul de bază a fost deja compilat și sa constatat că degenereze, se sugerează că regulile formalizate pentru a corecta astfel de planuri.

Acesta constă în determinarea celulei plan de grupuri deconectate (potențiale ecuații de calcul). Pentru a face acest lucru, celula este luată cu un rând minim și numărul coloanei, care nu a fost inclusă în nici un grup. Formează un grup cu numărul următor, în cazul în care nu a fost încă format grupul, atunci numărul va fi 1 (unu). Celulele rămase conținute în acest rând sunt marcate cu același număr (în colțul din dreapta jos). Celulele conținute în această coloană va apărea în colțul din stânga jos. În cazul în care celula a fost etichetat planul, acesta este baza pentru noile note, atâta timp cât nu toate celulele asociate sunt marcate. Dacă se dovedește că nu toate celulele sunt etichetate planul, întregul proces se repetă. La sfârșitul anului numărul podchityvaetsya de grupuri. Dacă este 1, atunci toate celulele planului sunt incluse în același grup, aceasta înseamnă că un plan de non-degenerate.

Într-adevăr, o singură celulă este planul de bază în cazul în care acesta este primul din grup, a spus o singură linie, plus o coloană, nu pervaya- un rând sau o coloană. Astfel grupurile K de celule marcați K +1 rânduri sau coloane. Deoarece numai rândurile N + M sau coloane, N- număr de rânduri, M este numărul de coloane. Pentru un grup primi:

K + 1 = N + M și K = N + M-1

QED.

Să presupunem că la finalul procesului avansat grupe L. In fiecare grup, numărul de rânduri și coloane de celule unitate mai mult decât planul de număr. Astfel obținem pentru toate grupurile care numărul de rânduri selectate sau coloane pe celule L mai mult decât planul de serie, ceea ce înseamnă:

K + L = N + M și K = N + M L

Aceasta este, pentru un plan nedegenerata trebuie să adăugați L -1 în planul de celule. Definim spațiul pentru aceste celule. În cazul în care planul de celule noi va cădea într-o cușcă goală, cu două numere identice, atunci se va închide ciclul, care nu este de dorit pentru planul. Atunci când distribuirea planului de celule noi, astfel încât unul dintre numere este egal cu 1, prevenind numărul de repetiții, ne conectam grupuri diferite și a obține o nouă celulă L -1. Adoptarea astfel dovedit.

Rezultatul algoritmului de mai sus este prezentată în tabelul

H nou (sau adăugat) planul celulei (2)

Celulele rele N- (ciclu închis)

K = 7 (numărul de celule existente planului);

L = 3 (numărul de grupe formate);

N = 5 (numărul de linii);

M = 5 (numărul de coloane).

Concluzie: Necesitatea de a defini grupul de celule conectate, în cazul în care acest grup nu este una, atunci planul de celule noi introduse în locuri asociate cu diferite grupuri.

Dacă nu ați înregistrat încă pe site-ul, trebuie să vă înregistrați: