Găsirea unei metode critice cale tabelară

Grafic rețea - un element necesar al unei producții complex, format din mai multe conectate și dependente de fiecare alte etape. Identificarea drumului critic și calendarul rezervelor de producție - principala sarcină care urmează să fie rezolvată prin construirea programului de rețea. Aceste probleme pot fi reprezentate ca un grafic, și afișează în forma unui tabel. Pentru a găsi calea critică (o secvență de etape de funcționare, determină durata întregului proiect și care nu au dispoziții de timp) sunt aplicate metode de calcul. O astfel de metodă este de a aplica metoda tabular și datele prezentate sub formă de tabel.

Problema automatizarea calculului programului de rețea este destul de relevant și important. Calcularea traseului critic cu ajutorul calculatoarelor va ajuta de mai multe ori pentru a accelera procesul, iar pentru parcele mari - de multe ori. Prin urmare, automatizarea calculului programului de rețea poate fi de mare beneficiu practic.

Considerăm că problema prezentată sub forma unui grafic.

Nodurile - repere.

Muchiile graficului - executarea lucrărilor. Nervurile au o lungime care indică lungimea lucrării și direcția care indică secvența de execuție a lucrării.

Este necesar de a găsi o astfel de cale într-un grafic, care ar avea o lungime maximă de peste toate căile posibile la un anumit grafic.

Aceste sarcini pot fi, de asemenea, reprezentate sub forma unui tabel

Pentru a aborda, de asemenea:

· Calculul începerea timpurie a activității fiecărui tip - perioadă minimă a început, numărând de la începutul proiectului.

· Calculul finalizarea timpurie a activității fiecărui tip - timp minim pentru finalizarea lucrărilor, de la începutul proiectului.

· Calculul cu întârziere începerea activității fiecărui tip - perioada maximă de la începutul lucrărilor, pornind de la începutul proiectului.

· Calculul finalizarea cu întârziere a fiecărei specii - timpul maxim pentru finalizarea lucrărilor, de la începutul proiectului.

· Evaluarea alocație pentru fiecare tip de muncă - timpul maxim care poate întârzia începerea lucrărilor.

limba VBA din următoarele motive: a fost ales pentru a scrie programul:

1. VisualBasicforApplications permite lucrul confortabil cu mese mari, citirea datelor de la ei, care produc peste ei transforma și de a construi altele noi.

2. Utilizarea Excel VBA la teaca permite utilizarea acestei funcții shell pentru a facilita introducerea de date și de a lucra cu ei.

3. Această limbă vă permite să automatizeze unele dintre etapele de a scrie un mijloc de program makrorekordera.

4. Sunt familiarizat cu limba și aș fi cel mai convenabil de a scrie un program folosind VBA.

5. Ușor de a învăța limba și disponibilitatea codului sursă al programului va permite utilizatorilor din aval să-l îmbunătățească, sau să modificați pentru a se potrivi cerințelor dumneavoastră.

1. Când porniți ecranul inițial de introducere a datelor utilizatorului i se solicită să introduceți numărul de faze de lucru:

A) o verificare pentru intrarea corectă. Suma exprimată printr-un număr, acesta trebuie să fie un număr întreg (dacă este un număr fracționar, partea fracționară este trunchiat) și nu trebuie să depășească 254.

B) În cazul în care condițiile de intrare sunt adevărate, atunci există un control privind disponibilitatea informațiilor într-o foaie, ce mesaj este afișat.

B) construi un tabel de date inițiale

2. După ce desenați masa utilizatorul trebuie să-l umple cu valori:

A) După confirmarea de către utilizator de umplere tabel:

3. Utilizatorul se mută la o altă fereastră de lucru, în cazul în care acesta are capacitatea de a activa calculul cale și de rețea grafică critică sau unități de transfer de timp de la unul la altul (de exemplu, zile în ore), în cazul în care în tabel sunt numere de fracționare, pentru că sarcina specifică sub coajă calcule VBA folosind numere fractionare da o eroare.

A) Dacă utilizatorul selectat unitățile de timp de traducere, numerele din tabelul de date sursă este convertit în schema selectată.

B) În cazul în care utilizatorul a ales să construiască programul de rețea, tabelul de construcții care au date despre timpul lucrărilor de pornire timpurie și tardivă timpurie și finalizarea cu întârziere a lucrărilor, precum și un timp de rezervă pentru fiecare etapă și secvență de pași ai căii critice.

4. Făcând clic pe calculul programului de rețea, utilizatorul începe algoritmul de căutare a căii critice și datele care le însoțesc, care funcționează după cum urmează:

4.1. Tabelul de decizie conține informații din tabelul de date inițiale și a calculat numărul de intrări (numărul de tipuri de muncă).

4.2. Determinat inițial. În cazul în care coloana tabel de date sursă conține date de durată, atunci acest pas nu este finalizat nici un fel de muncă, adică, acesta este începutul.

4.3. Pentru toate stadiile inițiale găsite pe masa de original, diagrame începutul timpurie de muncă egală cu 0 și finalizarea timpurie a muncii 0 + durata de tipul de activitate.

4.4. Pentru fiecare linie completat astfel determinată tip de activitate etapa de închidere și desemnarea este stocată. Dintre toate tipurile de lucru care se încheie cu acest pas este detectat un fel având o valoare maximă a închiderii anticipate a timpului de lucru. Această valoare este, de asemenea, stocate. Tabelul de mai jos se găsesc locuri de muncă, începând cu etapa de memorat anterior și pentru toate înregistrările care satisfac condiția din coloana în timpul pornirii devreme se înregistrează valoarea maximă stocată de finalizare timpurie a timpului de lucru. Algoritmul se repetă până când nu există nici o linie goală.

4.5. În tabelul cu rezultate, în cazul în care, pentru fiecare tip de lucrări definite la începerea timpurie și completarea este determinată de valoarea maximă de finalizare timpurie a timpului de lucru, care este durata proiectului.

4.6. Stabilește etapele finale. Dacă tabelul de șir de date de intrare nu conține lungimea datelor, astfel încât această etapă nu începe nici un fel de muncă, adică, acesta este sfârșitul.

4.7. Pentru toate etapele finale la masa originală diagrame finalizarea cu întârziere a proiectului egală cu durata și timpul de întârziere începerea lucrărilor, egală cu diferența dintre durata proiectului, precum și durata de tipul de activitate. Calculat dispoziție completă este diferența dintre munca târziu și la începutul timpului final (start).

4.8. Pentru fiecare linie finalizat, astfel, etapa determinată de inițierea tip de activitate și de desemnare este stocată. Dintre toate tipurile de lucru care încep de la o etapă de depistați fel având o valoare minimă a timpului de la început cu întârziere. Această valoare este, de asemenea, stocate. În plus, tipurile de masă de lucru se găsesc, se încheie la pasul memorat anterior pentru toate înregistrările care satisfac condiția de timp în coloana este înregistrat cu întârziere în completarea valoarea minimă stocată în momentul începerii cu întârziere. Se calculează rezerva totală. Algoritmul se repetă până când nu există nici o linie goală.

4.9. Distins înregistrare, având o valoare a rezervei totală este egală cu 0. Aceste tipuri de lucrări sunt incluse în calea critică.

4.10. Pentru a găsi calea critică prima înregistrare întâlnit cu o rezervă completă de zero, este luat startul și finalizarea lucrărilor formularului. Pentru toate înregistrările ulterioare luate numai marcajul de tipul punctului de finalizare a lucrărilor. Eficiența acestui algoritm prevede structura calculată a tabelului, în cazul în care locurile de muncă sunt aranjate în funcție de stadiul de origine a acestora. Cu toate acestea, în cazul în care numerele de utilizator pașii în ordine inversă, se poate întâmpla ca unele etape se vor întâlni în calea critică de două ori și o altă dată. În acest scop, algoritm pentru a găsi valori duplicate într-un mod critic. În cazul în care au fost găsite repetiție, programul construiește o cale critică în ordine inversă. Din ultima înregistrare întâlnit cu valori de rezervă complete sunt luate pentru a fi zero și complet tipul de pornire de muncă. Pentru toate înregistrările ulterioare luate numai marcarea tipului stadiu incipient de muncă.

5. Rezultatele calculelor sunt afișate pe ecran. Utilizatorul poate traduce o unitate de timp, în ordine inversă (p. 3).

Definim calea critică bazată pe dovezi privind legăturile dintre etapele de lucru și durata lucrărilor.

Având în vedere un grafic.

Vă rugăm să introduceți un număr de etape de lucru (în acest exemplu 10)

Pe baza tabelelor de date umplute cu sursa de date de calcul tabelar, în cazul în care numărul liniei - a început etapa, iar coloana numărul - etapa închidere.

După apăsarea butonului „OK“ pentru a deschide soluțiile de meniu

Într-un exemplu specific de unități de transfer de timp nu este necesară, dar este posibil să se transfere pentru claritate. Să presupunem că există dovezi de durata în zile, dar este necesar să le prezinte în ore.

Efectuarea calculului obținem masa finală:

Este posibil să se pună în aplicare unități inverse de timp de transfer.

Această problemă a fost rezolvată mai devreme, fără a utiliza un computer și au o soluție:

Startul timpuriu

Sfârșitul timpurie

În timp ce la început cu întârziere

Timp de mai târziu la sfârșitul anului

Găsirea unei metode critice cale tabelară

Ecranul de pornire apare atunci când porniți fișier Excel. pe care sunt dispuse două butoane:

„Noțiuni de bază“, prin apăsarea acestui buton se numește ecranul inițial de introducere a datelor.

„Exit“ atunci când apăsați acest buton, închiderea programului și Excel.

În introducerea datelor inițiale utilizatorul stabilește numărul de etape de lucru (numărul trebuie să fie un număr întreg în domeniul de 3 254)

Sub formă de butoane și 4 sunt verificate

· „OK“ - formarea unui tabel de date inițiale și includerea modului de umplere a mesei.

· „Cancel“ - închiderea matriței

· „Help“ - apelul de ajutor programului

· „Skip“ - trecerea la o formă de soluție

· „Turn solicitările“ - includerea ferestrelor explicative.

După completarea tabelului utilizatorul trece la fereastra de decizie

În cazul în care există 3 butoane:

· „Determinarea drumului critic“ - calculul drumului critic și a datelor asociate și afișează rezultatele pe ecran.

· „Reveniți la introducerea datelor inițiale“ - deschiderea ferestrei de introducere a datelor inițiale și foaia de intrare.

· „Unități de timp de transfer“ - deschiderea unităților de fereastra de transfer de timp în care pentru a selecta unitatea de timp curentă și apăsați butonul „OK“, apoi selectați unitatea de timp dorită și faceți clic pe „OK“.

Ca rezultat al lucrării a fost studiat algoritmul pentru a găsi calea critică, și totalizării programului de rețea. Pe baza algoritmului implementat un program care oferă o interfață grafică cu utilizatorul, de intrare și de ieșire de date tabelare tabelară a rezultatelor.

1. Belyaev SP Lectures on "Operations Research".

FormaAbout (certificat de program)

Private Sub UserForm_Terminate ()

FormaHelpForm1 (asistență în completarea tabelului)

FormaInsForm (introduceți numărul de faze de lucru, verificați dimensiunea hârtiei, de validare de intrare, ajutor de apel, ieșirea din program, trecerea la forma calculată)

„Verificarea intrarea corectă

Dim ca șir de Răspuns

Dacă iget.Value = „“ Atunci

MsgBox "Vveditekolichestvoetapov", vbCritical + vbOKOnly, "Oshibkavvoda"

În cazul în care nu (IsNumeric (iget.Value)) Apoi

MsgBox „Numărul de etape de lucru ar trebui să fie un număr“, vbCritical + vbOKOnly, „Eroare de intrare“

Dacă iget.Value <3 Then

MsgBox „Numărul de etape de lucru ar trebui să fie de cel puțin 3“, vbCritical + vbOKOnly, „Eroare de intrare“

Dacă iget.Value> 254 Atunci

MsgBox „Numărul de etape de lucru trebuie să fie nu mai mult de 222“, vbCritical + vbOKOnly, „Eroare de intrare“

„Verificați fișa de informații

Pentru i = 1 la 254

Pentru j = 1 la 254

În cazul în care nu ActiveSheet.Cells (i, j) .value = "" Atunci

Răspuns = MsgBox ( „fișă conține informații! Dacă continuați, va fi distrus! Continuați?“, VbCritical + vbOKCancel, „Avertisment“)

Dacă răspunsul = vbCancel Atunci

Dacă răspunsul = vbOK Atunci

articole similare