Universitatea OVIDIUS Constanţa Facultatea de Inginerie Mecanică Centrul ID-IFR
Modelarea şi simularea sistemelor de producţie - curs ID-IFR -
Întreprinderea industrială şi modelarea sistemică
CAPITOLUL 1 ÎNTREPRINDEREA INDUSTRIALĂ ŞI MODELAREA SISTEMICĂ 1.1.
CONCEPTUL DE SISTEM
Noţiunea de sistem, este o noţiune abstractă care a fost aplicată unor diverse domenii de activitate, luând de fiecare dată aspecte particulare în funcţie de specificul domeniului. Încercând o reducere la termenii cei mai simpli posibili, un sistem poate fi definit ca un complex de elemente în interacţiune. De menţionat, că această interacţiune se conduce după principii specifice făcând ca ansamblul în general, să aibă tendinţa optimizării permanente a activităţii lui. O altă definiţie a sistemului poate fi enunţată astfel : “Sistemul reprezintă o reuniune ordonată de elemente care permite realizarea unui obiectiv definit în prealabil prin intermediul unui plan”. Această definiţie încorporează trei elemente esenţiale : !"un scop (obiectiv) care motivează concepţia sistemului; !"o anumită organizare (o ordonare) bine definită a elementelor implicate; !"asigurarea informaţiei, energiei, materialelor conform planului; Privite din acest punct de vedere, sistemele pot fi naturale sau create de om. Din categoria celor create de om amintim : • sistemele tehnice; • sistemele tehnologice; • sistemele concepţionale; • sistemele de acţiune; • sistemele economice; • sistemele sociale; Indiferent de tipul din care fac parte, orice sistem prezintă un tot integrat al elementelor sale componente, constituindu-se numai atunci când o serie de elemente încep să interacţioneze între ele. În consecinţă, sistemul reprezintă un ansamblu de părţi, de obiecte în interacţiune, capabil să efectueze anumite funcţiuni, care se organizează şi transformă energia materială şi informaţională pentru o serie de finalităţi în care este inclusă şi menţinerea propriei organizări [10]. Disciplina ştiinţifică care explicitează metodologia de investigare a sistemelor, indiferent de structura şi natura elementelor componente poartă numele de Teoria Generală a Sistemelor. Această disciplină, alături de cibernetică, oferă proceduri pentru investigarea globală a oricărui sistem în care interconexiunile sunt importante şi nu pot fi ignorate. Principalele concepte ale teoriei generale ale sistemelor [6], [20], [1] definesc următoarele: 1. Proprietăţile definitorii ale sistemului sunt rezultante ale interacţiunii părţilor. Acestea nu sunt cuprinse în părţi. 2. Sistemul ignoră anumite părţi care-l compun şi invers. 3. Proprietăţile sistemului reacţionează asupra părţilor şi a mediului. Ca o hologramă: fiecare parte conţine sistemul, care la rândul său conţine fiecare parte. 4. Sistemul în totalitate reprezintă mai mult decât suma aritmetică a părţilor. 5. În timp ce se organizează, sistemul generează un potenţial de dezorganizare. 6. Organizarea consumă energie. Această energie este luată din mediul intern şi extern. 5
Modelarea şi simularea sistemelor de producţie
7. Organizându-se, sistemul dezorganizează mediul. 8. Două sisteme în interacţiune sunt potenţial complementare, concurente sau antagoniste. 9. Pentru a supravieţui sistemul este egocentrat asupra satisfacţiei nevoilor sale naturale; sistemul se deschide din necesitate (pentru a combate entropia). Teoria sistemelor face distincţie clară între sistemele închise, total izolate de influenţe externe şi sistemele deschise, în relaţie permanentă cu mediul lor, fiind supuse unor perturbaţii endogene şi exogene. Un exemplu de sistem deschis este întreprinderea industrială, ce poate fi descompus în trei subsisteme fundamentale : - subsistemul de decizie; - subsistemul informaţional (stocarea şi gestionarea informaţiilor); - subsistemul operaţional ( executarea deciziilor). 1.2.
ÎNTREPRINDEREA INDUSTRIALĂ CA SISTEM DINAMIC COMPLEX
Agent economic de importanţă vitală în cadrul economiei naţionale, verigă de bază a acesteia, întreprinderea constituie după Russu [28] acea „entitate organizatorică în care se produc bunuri şi servicii”. Funcţionarea întreprinderii în cadrul mecanismului amplu şi complex al economiei se realizează sub acţiunea concomitentă a conducerii ei, care acţionează nemijlocit asupra mediului ei intern şi asupra celui extern, în care există şi îşi desfăşoară activitatea. Întreprinderea nu poate şi nu trebuie să fie concepută ca o formă organizatorică izolată, ca un sistem închis sau semi-închis. Întreprinderea se abordează într-o viziune deschisă, fiind un sistem integrat în numeroase alte suprasisteme, sectoriale sau funcţionale, locale, naţionale sau internaţionale. Întreprinderea este cea mai răspândită formă organizatorică, importanţa sa deosebită decurgând din următoarele aspecte: - este principala creatoare de substanţă economică în orice ţară; - oferă locuri de muncă pentru cea mai mare parte a populaţiei; - performanţele sale condiţionează starea şi performanţele economiei fiecărei ţări şi standardul de viaţă al populaţiei din cadrul său. Întreprinderea este celula de bază a economiei, în cadrul ei creându-se bunurile şi serviciile necesare existenţei umane. Pentru acestea întreprinderea trebuie să reunească în cadrul ei mijloacele tehnice şi tehnologice, un număr mare de indivizi cu o anumită pregătire, care cooperează între ei, resurse materiale, financiare şi informaţionale. Pornind de la acest aspect, putem considera că întreprinderea reprezintă [14] : 1. O organizaţie socială, cuprinzând un ansamblu de activităţi umane, care au o finalitate bine determinată şi care dau viaţă tuturor elementelor tehnice, tehnologice şi de altă natură pe care le întâlnim în cadrul acesteia. 2. Un organism tehnico-productiv, care îşi găseşte expresia în specificul activităţilor productive şi al tehnologiilor folosite, în dependenţa tehnologică dintre elementele structurale ale sistemului de producţie. Întreprinderea nu poate fi privită numai prin prisma laturii umane, ci trebuoe să avem în vedere şi existenţa ansamblului de mijloace materiale, tehnice şi tehnologice care reprezintă suportul desfăşurării activităţilor umane în cadrul întreprinderii.
6
Întreprinderea industrială şi modelarea sistemică
3. Un organism economic, care se relevă prin ansamblul activităţilor ce au loc în întreprindere, activităţi de gestionare a patrimoniului propriu. Întreprinderea trebuie privită ca un organism independent, cu autonomie deplină, care dispune de întreaga capacitate de a participa la circuitul economic naţional şi internaţional. Drept urmare, ea intră în relaţii cu alte întreprinderi, desfăşoară un intens schimb de activităţi, foloseşte informaţia, se aprovizionează, vinde, obţine mijloace financiare, se împrumută, plăteşte dobândă, taxe, impozite etc. Toate acestea impun desfăşurarea unor activităţi care să răspundă la următoarele deziderate: a. Producerea de bunuri şi servicii în cantitatea şi de calitatea cerută de societate; b. Obţinerea unei eficienţe economice ridicate, concretizată în mărimea profitului. Întreprinderea industrială reprezintă o realitate complexă, dinamică şi evolutivă a cărei formă şi conţinut reprezintă rezultatul combinării unor elemente, funcţiuni şi manifestări caracteristice care trebuie să răspundă prompt la o serie de provocări cum ar fi: #"concurenţă mondială; #"evoluţia permanentă a tehnicii şi a tehnologiei; #"cost ridicat al integrării sociale. Toate acestea impun reorganizarea permanentă a mijloacelor fizice şi umane de care dispune întreprinderea pentru asigurarea competivităţii, adaptabilităţii, reactivităţii şi flexibilităţii sistemului productiv. Adoptarea unor măsuri care să conducă la optimizarea funcţionării sistemului urmărind în principal creşterea calităţii, reducerea costurilor şi a termenelor de execuţie, gestionând eficace cunoştinţele şi competenţele întreprinderii, pot conduce la creşterea competivităţii acesteia. Pentru a gestiona problemele de adaptabilitate, întreprinderea industrială trebuie să conceapă şi să întreţină permanent : - fluxul de produse, prin cercetarea aplicativă direcţionată spre a menţine performanţele bunurilor, procedeelor, metodelor şi mijloacelor de care dispun; - fluxul de informaţii, care are tendinţa rămânerii în urmă datorită tehnologiilor rigide şi a modificărilor din fluxul de produse; - organizarea şi structura managerială, care să asigure o aliniere la modificările din mediul intern şi extern. Reactivitatea întreprinderii este evidenţiată de nivelul demersurilor iniţiate pentru a răspunde prompt cererilor clienţilor, în timp ce flexibilitatea sistemului reprezintă un atribut interncare creează conditiile elasticităţii activităţilor întreprinderii, capabilă de a-şi adapta sistemul de fabricaţie fără mari eforturi umane şi financiare, în funcţie de diversitatea produselor solicitate în cantitatea cerută, la termenul solicitat, la preţul impus de piaţă şi la nivelul calitativ consemnat în standarde şi contracte. Pentru a realiza dezideratele sus menţionate întreprinderea industrială trebuie cunoscută în detaliu şi înţeleasă corect funcţionarea sa, ca puncte iniţiale şi obligatorii în orice demers de ameliorare a performantelor tehnice şi manageriale. Numeroase argumente ne determină să considerăm întreprinderea industrială un sistem tehnic, tehnologic, economic şi social complex care trebuie proiectat, implementat şi exploatat în conformitate cu finalităţile propuse : $"misiune; $"scop; 7
Modelarea şi simularea sistemelor de producţie
$"obiective; $"vocaţie; $"competenţe. În general, prin modelare simplificăm un proces natural, pentru că în realitate el este complex şi complicat, complex deoarece ne bazăm pe o viziune raţională asupra multitudinii de elemente asociate care pot fi înţelese doar diferenţiat şi o viziune iraţională, complicată, datorită conexiunii elementelor, angoasă a complexităţii exterioare. Întreprinderea trebui abordată sistemic. Sunt unanime aprecierile după care principalele caracteristici de sistem ale întreprinderii se referă [34]: sistem socio-economic, în sensul că procesele de muncă desfăşurate în cadrul său !" produc valoare şi valoare de întrebuinţare, iar cei care le exercită sunt grupe de persoane (salariaţi) cu roluri bine definite; sistem complex, deoarece resursele angajate în realizarea obiectivelor sunt variate !" (materiale, umane, financiare, informaţionale); sistem tehnico-material, situaţie generată de multiplele legături dintre unii factori de !" producţie (materii prime, materiale, echipamente), ce conduc la dependenţa tehnologică dintre subdiviziunile organizatorice; sistem deschis, fiind o componentă a altor sisteme cu grad de agregare ridicat cu care !" conlucrează în domenii variate. Se caracterizează prin „intrări” şi „ieşiri” specifice, prin care se delimitează de alte întreprinderi; sistem organic-adaptiv, caracteristică generată de adaptarea sa continuă, prin !" schimbare, la condiţiile mediului ambiant şi influenţarea comportamentului din urmă; sistem predominant operaţional, întrucât procesele de execuţie sunt determinate !" cantitativ, acestea dând consistenţă obiectului de activitate al întreprinderii. Modelarea sistemică a întreprinderii industriale se realizează pentru a cunoaşte, a modifica, a consuma sau a regenera. În modelarea întreprinderii industriale trebuie să diferenţiem o reprezentare simplificată de o reprezentare simplistă. Prima, admiţând complexitatea, se bazează pe o reducere cât mai aproape de realitate, conservând caracteristicile esenţiale locale şi globale, parţiale şi totale, în timp ce reprezentarea simplistă este o consecinţă a complicaţiilor, angoaselor, necunoaşterii, denaturând sau fasificând realitatea şi în cele mai fericite cazuri este o reducere parţial adevărată. În consecinţă fiecare simplificare reprezintă o situaţie dezavantajoasă în înţelegerea complexităţii, o ruptură cu mediul care generează arbitrarii, dogmatisme şi consideraţii aleatorii. Întrun studiu sistemic trebuie să descoperim articulaţiile, legăturile dintre părţile sistemului, între acestea şi mediu. Modelul care simplifică realitatea trebuie să fie suficient de dezvoltat pentru a lua în calcul ceea ce sistemul face (sincronia), ceea ce este şi ceea ce va fi (diacronia), ceea ce vrea şi ceea ce poate (achronia). Se poate afirma că: %" sincronia defineşte sistemul în timpul prezent, explicitând funcţionarea şi exploatarea sa; %"
diacronia, într-o perioadă temporală descrie evoluţia şi transformarea sistemului;
%"
achronia, care neglijând componenta temporală, identifică finalităţile şi funcţiunile de bază ale sistemului. 8
Întreprinderea industrială şi modelarea sistemică
Modelarea întreprinderii industriale nu poate fi disociată de analist, specialistul, el însuşi un sistem care construieşte modelul în funcţie de cunoştinţele sale, de poziţia pe care o ocupă în raport cu sistemul şi de obiectivele care i-au fost stabilite pentru demersurile pe care le realizează. Experienţa analistului în percepţia realităţii şi în tehnica modelării, în special în analiza datelor la nivel de sistem real, reprezintă condiţii asiguratorii care pot garanta succesul demersului. Ţinând cont de considerentele menţionate, fiecare observator construieşte sau utilizează un model care apare psihologic, temporal, spaţial, social, economic şi tehnic satisfăcător. De aici şi perpetua muncă de a îmbogăţi sau simplifica modele deja existente. Una din aplicaţiile majore către care au fost canalizate realizările teoriei sistemelor este conducerea sistemelor OM-MAŞINĂ. Întreprinderea industrială constituie un astfel de sistem complex în interiorul căruia interacţionează variabile având ca semnificaţie fizică : #" forţa de muncă; #" utilaje; #" materii prime; #" informaţii; #" energie; #" produse finite; #" fonduri financiare. Din teoria teoria conducerii întreprinderii, se cunosc cele cinci funcţiuni ale întreprinderii: $"cercetare – dezvoltare (incluzând aici şi planificarea şi investiţiile); $"comercial ( aprovizionare cu materii prime şi desfacerea produselor finite); $"producţie (transformarea materiei prime în produse finite prin intermediul forţei de muncă şi al utilajelor); $"personal (gestionarea forţei de muncă); $"financiar (gospodărirea, prin intermediul băncii, a fondurilor întreprinderii);
Figura 1.1
9
Modelarea şi simularea sistemelor de producţie
Întreprinderea, împreună cu furnizorii ei de materie primă, energie şi utilaje (investiţii fizice), banca şi beneficiarii produselor finite, poate fi reprezentată ca în figura 1.1. Această reprezentare sistemică a întreprinderii industriale împreună cu elementele cu care interacţionează permite evidenţierea unor fluxuri de : materie primă, produse finite, fonduri, forţă de muncă informaţii etc. Funcţiunile întreprinderii, considerate ca subsisteme, jalonează aceste fluxuri. De exemplu materia primă are circuitul: furnizor – aprovizionare – producţie, produsele finite urmează drumul producţie – desfacere – beneficiar. Fondurile financiare plătite de beneficiar băncii, în contul întreprinderii, sunt folosite pentru plata furnizorilor şi retribuirea personalului. Fiecare din aceste fluxuri generează o circulaţie a informaţiilor al căror flux este prezent la nivelul tuturor funcţiunilor întreprinderii. Dat fiind că întreaga activitate a întreprinderii este reflectată în aceste informaţii, întreprinderea poate fi analizată prin prisma sistemului său informaţional. Funcţiunea de producţie realizează ansamblul obiectivelor întreprinderii. Din acest motiv conducerea acestui subsistem ocupă locul central în conducerea întreprinderii. Forţa de muncă reprezintă elementul de bază al sistemului productiv regăsit în toate fazele procesului de producţie fiind caracterizat: %"fiecare angajat este un individ cu interese şi aspiraţii proprii, uneori cu reacţii imprevizibile; %"reprezintă %"este
principala sursă de probleme şi dereglări ale procesului productiv;
elementul activ care poate corecta şi compensa dereglările;
%"motivaţi
şi stimulaţi angajaţii au iniţiative cu efecte pozitive asupra calităţii produselor şi productivităţii muncii;
%"angajaţii %"sunt
sunt instruibili sau chiar autoinstruibili;
elementele cu care se poate comunica uşor;
%"există
diferenţe între ceea ce dau, ceea ce ar trebui să dea şi ceea ce sunt capabili să dea. Materiile prime, semifabricatele, sunt elementele asupra cărora se acţionează de către oameni direct sau prin intermediul maşinilor pentru a fi transformate în produse finite, fiind caracterizate prin: %"sunt elemente inerte; %"necesită
evidenţă şi control permanent în ceea ce priveşte termenele de achiziţionare, cantităţile necesare, caracteristicile fizico-chimice, evoluţia preţurilor etc.;
%"necesită
efort însemnat pentru deplasarea, manipularea şi poziţionarea lor;
%"sunt
degradabile în timp şi influenţate de factorii de mediu. Justificarea proiectării, implementării şi exploatării unui sistem productiv îl constituie produsul finit realizat de întreprinderea industrială pentru a fi comercializat. Datorită caracterului dinamic al pieţei, permanent apar posibilităţi de comercializare pentru noi produse şi servicii, impulsul exogen provenind de la clienţii care impun reconsiderarea procesului de fabricaţie dintr-o sumă de activităti orientate pe produs într-un proces cu activităti orientate spre piaţă, realizând o transformare de fond a concepţiei de producţie. Un produs care iniţial nu este apreciat de clienţi, poate la un moment dat să devină interesant şi solicitat, sau invers un produs bine comercializat să-şi piardă atractivitatea, modificare justificată de schimbarea nevoilor consumatorilor şi a existenţei sistemului concurenţial în economia de piaţă. În acest context, studiul pieţei, cercetarea tehnică şi angajamentul financiar pentru a inova şi comercializa noi produse şi servicii interacţionează permanent cu funcţia de conducere a producţiei. 10
Întreprinderea industrială şi modelarea sistemică
Elementele definitorii ale sistemului de transformare le reprezintă instalaţiile industriale, echipamentele, utilajele, maşinile, sculele, într-un cuvânt mijloacele de muncă utilizate în diferite scopuri : producţie, transport, depozitare, control sau colectare, prelucrare şi transmitere a informaţiilor. Echipamentele au caracteristici specifice, în general opuse celor definitorii pentru forţa de muncă : #"sunt pasive, nu pot compensa sau preveni dereglările; #"comunicarea este dificilă necesitând însuşirea unui limbaj de lucru specific echipamentului; #"sunt, în general, sigure în privinţă reacţiilor; #"diferenţa dintre ce dau şi ce pot da poate fi controlată. Echipamentele condiţionează eficienţă activităţii productive, dar ceea ce se obţine cu ajutorul lor depinde într-o măsură hotărâtoare de factorul uman, utilajele rămânând doar în categoria cheltuielilor fixe, invariabile faţă de volumul producţiei realizat, se depreciază în timp, iar întreţinerea şi modernizarea lor (repararea, îmbunătăţirea performanţelor, automatizarea) solicită eforturi financiare deosebite. Factorii decizionali care conduc fiecare subsistem precum şi regulile (algoritmii) de decizie alcătuiesc sistemul de conducere a întreprinderii. Se impune precizarea că întreprinderea nu poate fi considerată ca un sistem automat. Complexitatea ei ca sistem şi varietatea extremă a interacţiunilor cu mediul nu permit stabilirea apriorică a tuturor regulilor de decizie. O parte din ele, aşa numitele “decizii programabile” pot fi încredinţate calculatorului electronic. Deciziile generale care vizează ansamblul funcţionării întreprinderii comportă o tratare nuanţată şi luarea în considerare a unor factori care nu se pretează formalizării matematice riguroase. Conducerea proceselor care au loc la nivelele macro şi microeconomice, adaptarea lor la schimbările mediului ambiant presupune existenţa unui sistem informaţional care să cuprindă toate sectoarele de activitate. Se cunoaşte faptul că prin sistem informaţional înţelegem întregul complex de activităţi care înregistrează informaţii, ce sunt prelucrate şi utilizate pentru realizarea obiectivelor întreprinderii şi deci acest sistem informaţional cuprinde toate procesele de prelucrare a informaţiilor. Informaţiile au un caracter abstract, extrem de dificil de determinat şi stăpânit: • sunt foarte numeroase şi foarte diferite ca formă, realism, actualitate; •
pot defini ce există sau se întâmplă în sistemul productiv;
•
fac posibilă conducerea celorlalte categorii de elemente care alcătuiesc sistemul global al întreprinderii;
•
utilizarea eficientă a informaţiilor necesită metode, tehnici şi echipamente specifice;
•
prin intermediul informaţiilor se realizează majoritatea legăturilor dintre compartimentele funcţionale ale sistemului;
• informaţiile reprezintă datele primare pe baza cărora sunt adoptate deciziile. La nivelul conducerii strategice şi tactice a unităţilor economice, informaţia este necesară atât pentru formularea strategiei, cât şi pentru verificarea traducerii ei în viaţă, iar la nivelul conducerii operative, informaţia este necesară pentru planificarea detaliată şi pentru aprecierea performanţelor. Datorită acestui rol esenţial al informaţiei de conducere fie că e vorba de conducerea unei singure variabile, de conducerea unui proces, a unei întreprinderi, centrale sau chiar a economiei naţionale – calculatorul reprezintă un instrument indispensabil, iar caracteristica principală a unui sistem de conducere bazat pe calculatoare electronice este capacitatea lui de a colecta, asimila, analiza şi difuza cantităţi mari de informaţie cu o mare viteză, precizie şi supleţe. 11
Modelarea şi simularea sistemelor de producţie
Dacă în cadrul unui sistem informaţional predomină ca echipament mijloacele de automatizare bazate pe calculatorul electronic, aceasta se va numi sistem informatic. În fluxul lor de la proces la calculator şi de la calculator înapoi la proces, informaţia suportă operaţiuni de manevră şi prelucrare, denumite proceduri. Aceste proceduri pot fi automatizate în care caz sunt utilizate echipamente de calcul şi programe scrise în limbajele de programare ale calculatorului electronic sau sunt executate manual, în cazul sistemelor informatice mai puţin evoluate.
Figura 1.2 În figura 1.2, sunt redate principalele proceduri care compun un sistem informatic modern pentru conducerea producţiei în unităţile economice. Un loc central în cadrul sistemului informatic îl ocupă baza de date care centralizează după principii unitare întregul volum de informaţii necesare elaborării automate a comenzilor de conducere. Deseori baza de date împreună cu programele de administrare şi prelucrare automată a datelor în cadrul unui sistem informatic poartă denumirea de bancă de date. O concepţie originală asupra sistemelor informatice de conducere prezintă sistemul informatic ca sistem cu două bucle feedback evidenţiate în figura de mai jos. Subsistemul conducerii strategice şi tactice are ca intrare diferenţa dintre indicatorii planificaţi şi cei realizaţi şi ca ieşire planul pe termen lung şi mediu. Subsistemul conducerii operative are ca intrare diferenţa dintre planul pe termen lung şi mediu şi gradul său de realizare, iar ca ieşire planul pe termen scurt (programul de producţie). Subsistemul proces condus primeşte programul de producţie şi realizează ca ieşire producţia efectivă care este tradusă de subsistemul de urmărire – control în indicatori realizaţi. Baza de date împreună cu procedurile de înmagazinare şi regăsire a datelor nu face parte propriu-zis din sistemul informatic, dar asigură funcţionarea jucând rolul unui “dispecer” al datelor necesare în procese decizionale. Procesele de producţie a bunurilor materiale, atât la nivelul unităţilor economice cât şi al ramurilor şi economiei naţionale, reprezintă sisteme complexe a căror conducere implică utilizarea conceptelor şi instrumentelor elaborate în cadrul teoriei sistemelor. Pentru realizarea atributelor conducerii proceselor din economia naţională (previziune, organizare, coordonare, control, etc.) în condiţiile creşterii permanente a dimensiunii şi complexităţii aparatului de producţie, utilizarea metodelor empirice de decizie nu mai poate satisface cerinţele obţinerii unei eficienţe ridicate a actelor de decizie economică.
12
Întreprinderea industrială şi modelarea sistemică
Figura 1.3 În acest context, formalizarea şi modelarea funcţionării proceselor de producţie ca sisteme şi recurgerea la metodele şi tehnicile derivate din teoria sistemelor, constituie o sarcină de strigentă actualitate pentru conducerea ştiinţifică în acest domeniu. Între avantajele abordării sistemice în îndeplinirea funcţiilor (atributelor) conducerii putem menţiona: în elaborarea deciziilor devine posibilă surprinderea conexiunilor de ordin structural ale !" elementelor proceselor de producţie; se poate ţine seama de evoluţia dinamică a parametrilor fizici şi valorici ai producţiei; !" se facilitează determinarea influenţei factorilor de mediu asupra parametrilor de producţie; !" se poate orienta evoluţia proceselor de producţie către un comportament prestabilit !" considerat ca optimal din punctele de vedere ale obiectivelor; creşte operativitatea luării deciziilor prin utilizarea tehnicii de calcul electronice în !" procesul de conducere pe baza teoriei sistemelor. Tratarea sistemică a problematicii conducerii producţiei presupune elaborarea unei concepţii unitare în vederea extinderii procedurilor concrete de lucru în diverse domenii ale economiei naţionale. Existenţa unei astfel de concepţii este posibilă datorită caracterului unitar al activităţii de conducere în toate domeniile economiei naţionale, indiferent de treapta ierarhică la care ne referim. Un rezultat esenţial în cadrul concepţiei unitare de abordare sistemică a conducerii proceselor de producţie, este obţinerea unei scheme unitare pentru conducerea prin plana unităţilor economice, redată în figura 1.4. Cu ajutorul acestei scheme, vom dezvolta în continuare problematica conducerii prin plan a proceselor de producţie. În blocul 1, denumit bloc de comandă, sunt prezentate două elemente şi anume: modelul matematic al procesului condus şi algoritmul de decizie. Modelul matematic al procesului condus, care are rolul de a surprinde conexiunea spaţiotemporală a parametrilor ce descriu evoluţia procesului de producţie 2. Acest model are rolul de a surprinde numai conexiunile esenţiale, deci reprezintă o abstractizare a realităţii economice. El este de obicei compus din mai multe tipuri de relaţii matematice ce au rolul să surprindă : evoluţia în timp a procesului (ecuaţii de dinamică sau de stare), condiţiile interne de desfăşurare (restricţii sau relaţii tehnologice) şi condiţiile externe (relaţii de aprovizionare şi desfacere) ce au rolul de a conecta procesul de producţie la evenimentele din mediul înconjurător. La aceste relaţii se adaugă şi cerinţele de comportament optimal al procesului de producţie sub forma funcţiei obiectiv sau a funcţionalei de performanţă. 13
Modelarea şi simularea sistemelor de producţie
Figura 1.4 Aceasta are rolul ca din mulţimea variantelor de comportament definite prin relaţiile de dinamică şi restricţiile interne şi externe să fie aleasă acea variantă ce corespunde realizării maximale a obiectivelor propuse. Ca funcţionale de performanţă în cazul proceselor de producţie se aleg indicatorii economici prevăzuţi în metodologia de planificare. Sinteza traiectoriei optimale se execută cu ajutorul metodelor şi algoritmilor furnizaţi de teoria sistemelor, care sunt încorporate în pachete de programe de firmă, performante din punct de vedere al vitezei de calcul. În cazul abordării dinamice a comportării procesului de producţie, o variantă care îndeplineşte condiţiile dinamice interne şi externe şi optimizează funcţionala de performanţă se numeşte traiectorie optimală. Datorită faptului că sinteza traiectoriei optimale se produce corespunzător parametrilor nominali de funcţionare ai procesului de producţie, aceasta se mai numeşte şi traiectorie nominală. Ea nu ţine seama de perturbaţiile ce apar în realitate în procesul condus. Din acest motiv traiectoria efectivă (reală) a procesului de producţie nu corespunde în general cu traiectoria nominală şi apar abaterile evidenţiate în cadrul blocului de comparare 4, a schemei din figura 1.4. Nivelul abaterilor dintre traiectoria nominală şi cea efectivă reflectă capacitatea modelului matematic de a surprinde evenimentele ce se produc în cursul procesului de producţie în cadrul perioadei de plan şi reprezintă un criteriu esenţial pentru evaluarea eficienţei deciziei de conducere. Prelucrarea abaterilor de la traiectoria nominală formează obiectul blocului 3, denumit bloc de control. Funcţionarea acestui bloc este bazată pe ipoteza că abaterile urmează aceleaşi legi de evoluţie cu ale procesului de producţie însuşi. Din acest motiv blocul de control reproduce modelul matematic al procesului condus, cu deosebirea că funcţionala de performanţă urmăreşte elaborarea unei corecţii a traiectoriei nominale care să corespundă minimizării abaterilor de-a lungul perioadei de plan. Pe această cale, decizia efectivă de conducere ce se elaborează în cadrul blocului 5, rezultă prin compunerea deciziei nominale şi a deciziei de corecţie furnizate de blocul de control. În acest mod, decizia de conducere ţine seama şi de factorii de influenţa ce nu pot fi prevăzuţi de către modelul matematic, orientând astfel procesul de producţie spre un comportament ce îmbină exigenţele ideale formulate prin model, cu condiţiile reale de evoluţie. 14
Întreprinderea industrială şi modelarea sistemică
1.3.
SISTEME DE PRODUCŢIE.
1.3.1. FUNDAMENTE TEORETICE Sistemele de producţie nu pot exista şi funcţiona pur şi simplu. Acestea trebuie ancorate într-un întreg, impunându-se necesitatea de a fi parte integrantă a unui ansamblu ce răspunde cerinţelor unui sistem economic. Sistemele de producţie trebuie organizate în aşa fel încât să realizeze produsele, respectiv bunurile necesare pieţii în modul cel mai simplu şi eficient. Fundamentul lor constă din tehnica şi tehnologia continuu evolutive, cu impact asupra structurilor economice, sociale şi chiar politice. „Întregul” în care trebuie ancorate sistemele de producţie pentru a se racorda la mediul economic, guvernat de legităţi bine definite şi general valabile, este reprezentat de întreprindere, respectiv firmă. Activităţile de producţie presupun existenţa sistemelor de producţie, iar acestea vor funcţiona şi vor produce în corelare cu mediul lor extern şi cel intern, fiind integrate în ceea ce numim întreprindere. Atunci când vorbim despre sistemul de producţie avem în vedere acea parte a întreprinderii care se ocupă de transformarea intrărilor de materiale şi materii prime, precum şi alte resurse în produse şi servicii care fac obiectul de activitate al întreprinderii, împreună cu activităţile conexe cum sunt aprovizionarea, reparaţiile, întreţinereaetc., care să-l ţină în stare de funcţionare. Integrarea sistemului de producţie în cadrul întreprinderii se face prin intermediul fiecăreia din cele 7 variabile: 1. Strategia sistemului de producţie derivă din strategia generală a întreprinderii. 2. Structura organizaţională înglobează structura sistemului de producţie stabilind relaţiile care există între acesta şi restul întreprinderii. Producţia nu poate exista fără restul întreprinderii şi invers. 3. Sistemele aparţinând producţiei pot să fie specifice acestuia, ca de exemplu sistemul de proiectare a produselor, sistemele de programare, lansare şi urmărire a producţiei. Sisteme cum sunt sistemul de control al calităţii, de protecţia mediului, sistemul de salarizare, sistemul de evaluare a personalului aparţin întregii întreprinderi, cu adaptările care se impun. 4. Stilul managerial specific pentru rolurile pe care le au de îndeplinit managerii de la nivelul producţiei trebuie grefat pe o componentă comună stilului managerial din organizaţie, stil care face parte din cultura organizaţională. Stilul managerial specific al producţiei poate contribui la definirea unei subculturi. Managerii de la nivelul sistemului de producţie trebuie să aibă abilităţi tehnice şi abilităţi de lucru cu oamenii. În lucrul cu oamenii managerii trebuie să ţină cont de obiectivele pe care le au de îndeplinit în contextul dat şi de specificul subalternilor (abilităţi profesionale, experienţă, motivare, încredere de sine). 5. Personalul din cadrul sistemului de producţie este integrat în ansamblul organizaţional prin tot ceea ce înseamnă cultură organizaţională, în particular prin normele, regulile şi procedurile de management al resurselor umane. Comunicarea non-formală şi formală crează instrumentele necesare pentru această legătură. Climatul de muncă este reacţia emoţională a angajaţilor la relaţia – angajat-întreprindere.
15
Modelarea şi simularea sistemelor de producţie
6. Capabilităţile sunt definite la nivel de întreprindere şi ele se pot referi la sistemul de producţie ca „actor” principal (capabilitatea este definită prin activitatea sistemului de producţie) sau secundar (altă parte a întreprinderii determină capabilitatea). 7. Valorilor comune împărtăşite la nivelul întregii întreprinderi pot să conţină sub-seturi de valori specifice la nivelul producţiei. Ele pot constitui baza unei subculturi. Aceasta se va caracteriza prin unele valori, norme, specifice dar şi prin valori şi norme comune întregii întreprinderi, ceea ce sprijină integrarea. Normele pot fi modelate, influenţate, prin intermediul practicilor de management al resurselor umane. Comunicarea, denumită şi liantul întreprinderii sau „sistemul nervos” al acesteia, are rolul de a integra părţile întreprinderii într-un tot unitar prin intermediul schimbului de informaţie formală şi nonformală. 1.3.2. CLASIFICAREA PROCESELOR TEHNOLOGICE DIN SISTEMELE DE PRODUCŢIE. POTENŢIALUL TEHNOLOGIC. Tehnologia este ştiinţa utilizării, într-un context local şi într-un scop precis, a cunoştinţelor, utilajelor, maşinilor şi priceperii în folosirea acestora pentru conceperea şi realizarea unui produs sau serviciu. În componenţa unei tehnologii sunt cuprinse următoarele elemente, ce se intercondiţionează, indispensabile şi de egală importanţă (figura 1.5): %" cunoştinţele asupra proceselor care stau la baza transformărilor ce au loc în produs (baza teoretică); %" utilajele, maşinile necesare; %" priceperea (know-how-ul) în folosirea maşinilor, utilajelor şi cunoştinţelor. B A Z A T E O R E T IC A
U T IL AJ E , M A S IN I U N E L T E
K N O W -H O W
P R O D U S / S E R V IC IU
Figura 1.5 Tehnologia poate fi definită şi ca o ştiinţă a procedeelor de fabricaţie şi a utilajelor care permit transformarea, în condiţii economice avantajoase, a materiilor prime în produse. Se precizează, astfel, că transformarea trebuie realizată la un cost acceptat de piaţă. Astăzi, sub aspectul cunoştinţelor, utilajelor şi priceperii, se pot construi produse, dar la preturi greu acceptabile pentru cumpărători. O tehnologie nu are sens decât atunci când rezultatul final este cert, purtător de succes, obţinut în condiţii riguros definite, perfect controlabile şi reproductibile. Procesul tehnologic poate fi definit şi ca ansamblul operaţiilor elementare de tip mecanic, fizic, chimic, biochimic sau biologic parcurse de materia primă în cursul transformării şi atingerii stadiului de produs. 16
Întreprinderea industrială şi modelarea sistemică
1. După modul de desfăşurare în timp, procesele tehnologice şi, ca urmare, şi tehnologiile se pot împărţi în: discontinue; !" continue; !" mixte. !" Tehnologiile discontinue se caracterizează prin faptul că produsul se realizează în şarje, ciclic: se încarcă o anumită cantitate de materii prime, se supune apoi transformărilor implicate de proces, se descarcă produsul, după care ciclul se reia. Aceste tehnologii au marele avantaj că, de pe aceeaşi instalaţie, se pot obţine un număr mare de produse, în funcţie de modul în care este condus procesul. De multe ori, numărul de utilaje implicate în proces este relativ mic, deoarece de pe acelaşi utilaj se pot realiza mai multe faze succesive ale procesului tehnologic prin modificarea parametrilor de funcţionare. În schimb, consumul de manoperă, consumurile specifice de materii prime şi energie sunt mari, iar la reluarea ciclului apar timpi morţi. Tehnologiile continue presupun existenţa unei linii de utilaje, fiecare utilaj funcţionând la parametrii constanţi. Materia primă este introdusă în mod continuu în primul utilaj, suferă câte o singură transformare la fiecare utilaj şi iese sub formă de produs, adesea în mod continuu, la capătul liniei. Astfel de linii tehnologice se pot automatiza uşor, utilizează un număr redus de operatori, asigură o calitate ridicată şi constantă, are capacităţi de producţie mari, prin excluderea timpilor morţi, şi consumuri specifice mai mici decât în cazul tehnologiilor discontinue. Produc însă un singur produs, investiţia iniţială este mare, iar numărul de utilaje este considerabil mai mare ca cel folosit în tehnologiile discontinue. Tehnologiile mixte realizează o parte din transformări în regim continuu şi o altă parte în regim discontinuu. 2. După rolul în obţinerea produsului, tehnologiile se clasifică în : de bază; %" auxiliare; %" de servire; %" anexe. %" Tehnologiile de bază, legate direct de fabricaţia produsului, se pot împărţi în tehnologii de prelucrare şi de asamblare. Tehnologiile auxiliare sunt cele care concură la realizarea proceselor de bază, dar nu participă direct la realizarea acestora. Tehnologiile de servire asigură desfăşurarea normală a proceselor de bază şi auxiliare, fiind denumite şi logistice. Tehnologiile anexe se referă la activităţile de reutilizare a deşeurilor şi ambalajelor, inclusiv regenerarea materialelor degradabile. 3. După gradul de participare a forţei de muncă, se disting tehnologiile: • manuale; • mecanizate; • automatizate; • cibernetizate; • robotizate. 4. După natura produsului, se disting tehnologii: de produs, care vizează obţinerea pe o anumită cale a unui anumit produs; $" 17
Modelarea şi simularea sistemelor de producţie
de proces, care vizează organizarea fazelor de producţie; $" de metode, care se referă la tehnologiile de cercetare, marketing, informatizare. $" 5. După rolul în poziţionarea concurenţială a sistemelor de producţie, se disting: %"tehnologii esenţiale; %"tehnologii de diferenţiere; %"tehnologii definitorii; %"tehnologii periferice. Tehnologiile esenţiale sunt cele ce caracterizează domeniul industrial în care se plasează sistemul de producţie, fiind deţinute şi utilizate de toate sistemele de producţie similare. Tehnologiile de diferenţiere sunt acele tehnologii stăpânite şi aplicate doar de sistemele de producţie în cauză, care îi permit să ofere şi alte produse şi servicii decât concurenţii săi. Tehnologii definitorii sunt cele de interes major pentru sistemul de producţie, fiind „inima” sistemului. Tehnologiile periferice sunt necesare pentru sistemul de producţie, dar nu fac obiectul preocupărilor majore ale acestuia. 6. După nivelul de dezvoltare, care arată maturitatea lor, tehnologiile se împart în : #"emergente (născânde); #"evolutive; #"mature; #"în declin; #"depăşite. Tehnologiile emergente sunt noi, puse la punct de puţin timp, şi încă nu şi-au dovedit calităţile şi defectele, putând fi mai bune ca cele existente sau un eşec. Tehnologiile evolutive sunt cele care s-au impus deja, dar prin studii pot fi îmbunătăţite pentru a fi mai eficiente. Tehnologiiile mature sunt cele utilizate în mod curent, bine stăpânite, care dau încă rezultate satisfăcătoare, reprezentând cea mai mare parte a zestrei tehnologice a sistemului de producţie. Tehnologiile în declin sunt acelea pentru care există deja tehnologii mai performante; deşi mai dau satisfacţii într-un viitor apropiat vor dispare. Tehnologiile depăşite nu mai oferă, la nivelul de azi, performanţe corespunzătoare sub aspectul calităţilor produselor şi al costurilor de fabricaţie. Nu se justifică menţinerea lor în cadrul sistemului de producţie. Potenţialul tehnologic reprezintă valoarea resurselor tehnologice stăpânite de un sistem de producţie în cadrul unei strategii globale şi într-un context concurenţial dat. Analiza potenţialului tehnologic se face în mai multe etape [4]. În prima etapă se realizează inventarul tehnologiilor existente în sistemul de producţie, de aceasta depinzând toată analiza ulterioară. Se urmăreşte o listare a tehnologiilor, a competenţelor, a know-how-urilor deţinute de sistemul tehnologic, pornind de la concepţia produselor realizate şi continuând cu fabricaţia lor până la comercializare şi servicii. În a doua etapă, se analizează competivitatea produselor prin prisma tehnologiilor de realizare; în majoritatea cazurilor, la realizarea unui produs concură mai multe tehnologii, iar fiecare tehnologie din sistemul de producţie contribuie la realizarea mai multor produse.
18
Întreprinderea industrială şi modelarea sistemică
Principiile care stau la baza analizei competivităţii tehnologice a sistemului de producţie sunt: fabricarea unui produs implică contribuţia mai multor tehnologii distincte !" identificabile; tehnologiile implicate au contribuţii diferite în raport cu poziţionarea !" concurenţială; fiecare tehnologie are un ciclu de viaţă, care poate fi scurtat prin apariţia unor !" tehnologii mai performante, sau prelungit prin îmbunătăţiri succesive pe seama progresului tehnologic; concurenţii stăpânesc în mod diferit tehnologiile implicate şi controlul asupra unei !" singure tehnologii noi şi performante poate să conducă la un avantaj concurenţial important; orientarea strategică se stabileşte ţinând cont atât de poziţia de piaţă a produsului, !" cât şi de tehnologiile implicate în realizarea lui.
1.4.
TIPURI DE PROCESE DE PRODUCŢIE
În industria constructoare de maşini există trei tipuri de procese de producţie şi anume : 1. Producţia individuală sau de unicate – se execută produse într-o nomenclatură foarte mare, în cantităţi mici. Echipamentele tehnologice (SDV-uri) şi m.u. folosite sunt universale şi permit trecerea rapidă de la prelucrarea unei piese la alta, de forme şi complexităţi diferite, fără un consum prea mare de timp pentru instalarea şi centrarea piesei şi pentru reglarea maşinii. Produsele realizate nu se repetă, sau se repetă la intervale mari de timp. La un singur loc de muncă se execută operaţii foarte variate, fără o pregătire tehnologică specială, anticipată. Maşinile unelte nu sunt aranjate după succesiunea operaţiilor procesului tehnologic. Acest tip de producţie se întâlneşte cu precădere la fabricarea pieselor utilajelor tehnologice sau la fabricarea echipamentului tehnologic – SDV-uri din celelalte domenii ale industriei constructoare de maşini. Semifabricatele de pornire utilizate la fabricarea pieselor, în producţia individuală, se stabileşte în funcţie de caracteristicile piesei, dar şi de condiţiile de dotare existente şi viitoare, deoarece achiziţionarea ulterioară a unei noi m.u. este posibilă numai dacă se asigură încărcarea maximă. 2. Producţia de serie – se execută serii de produse, lansate pe loturi ce se repetă cu regularitate după un anumit interval de timp determinat. Nomenclatorul de piese este redus. La majoritatea locurilor de muncă se execută aceleaşi operaţii pe toată durata cât are loc fabricarea unui anumit produs. Aranjarea maşinilor se face în ordinea desfăşurării operaţiilor procesului tehnologic. Dacă linia tehnologică creată este destinată fabricării periodice a mai multor piese (produse) diferite, cu procese tehnologice diferite, aranjarea maşinilor unelte se face astfel încât să satisfacă toate produsele prevăzute a se fabrica pe linia respectivă. Se admit în acest caz, chiar şi întoarceri locale ale piesei pe linia de fabricaţie. 3. Producţia de masă – produsele se execută în mod continuu, în cantităţi mari (ce depind de mărimea şi complexitatea produsului) într-o perioadă mare de timp. Caracteristica 19
Modelarea şi simularea sistemelor de producţie
principală constă în efectuarea, la majoritatea locurilor de muncă, a aceleiaşi operaţii (cu repetare continuă) şi nu constă în cantitatea de produse ce se execută în unitatea de timp. În cadrul fiecărui tip de producţie, nu cantitatea de piese îi precizează caracterul, iar divizarea întreprinderilor constructoare de maşini după tipul producţiei este convenţională. În cadrul aceleiaşi întreprinderi se întâlnesc simultan cele trei tipuri de producţie. În afara caracteristicilor prezentate, cele trei tipuri de producţii mai au şi alte caracteristici :
20
Întreprinderea industrială şi modelarea sistemică
CARACTERISTICILE TIPURILOR DE PRODUCŢIE Nr. Crt 0 1 2 3
4
5
8 9
Individuală
Serie
Masă
2
3
4
1 Cantitatea de produse.
Mică.
Medie.
Mare.
Nomenclatorul.
Mare şi variabil.
Mediu cu repetare periodică.
Redus, cu menţinere pe timp îndelungat.
Modul de producţiei.
planificare
a Nu se planifică anticipat repetarea Se planifică o repetare Fabricarea fabricării. Se planifică în funcţie de periodică a producţiei în loturi produsului. urgenţa produsului. de fabricaţie.
neântreruptă
a
Modul şi gradul de încărcare a Se face întâmplător fără o planificare Repetarea încărcării cu aceleaşi Încărcarea neântreruptă a maşinilor unelte. anticipată. Se asigură încărcarea produse (diferite) până la maşinilor la valoarea maximă maximă. obţinerea valorii maxime. cu aceleaşi operaţii a aceluiaşi produs. Utilajele folosite.
Utilaje universale.
S.D.V. – uri folosite.
S.D.V. –uri universale. Cele speciale S.D.V. –uri speciale diferitelor S.D.V. –uri speciale reglate şi numai în cazuri speciale. operaţii şi produse. manevrate automat. Schimbarea se face de către personal specializat.
6
7
Tipuri de producţie
Caracteristica de comparaţie
Modul de dimensiunilor.
realizare
Mâna de lucru . Modul de realizare caracteristicilor funcţionale.
Utilaje universale şi în parte Utilaje specializate şi speciale. speciale.
a Reglarea maşinilor după trasaj sau Maşinile sunt reglate la Maşinile sunt reglate la luând aşchii de probă şi măsurând dimensiune cu ajutorul dimensiune şi operaţiile sunt până la obţinerea cotei funcţionale. dispozitivelor de reglare. prevăzute cu control activ ce modifică reglajul maşinii. Înalt calificată.
Cu calificare diferită.
a După metoda ajustării sau cu ajutorul După metoda toleranţelor singulare foarte mici. interschimbabilităţii totale, pe baza toleranţelor economice bine determinate. 21
Cu calificare redusă . După metoda interschimbabilităţii totale sau parţiale şi selective fără ajustare a pieselor.
Modelarea şi simularea sistemelor de producţie
Semifabricatele folosite.
Laminate, forjate, liber, turnate în Forjate în matriţă, turnate prin Forjate în matriţă, turnate după forme crude şi sudate. procedee de serie mare sau metode precise şi productive. laminate.
Modul de aranjare a utilajelor.
După dimensiuni şi tipul procedeului În ordinea fluxului tehnologic În ordinea strictă a fluxului de prelucrare. şi a maşinilor celor mai tehnologic. încărcate.
10
11 12
Metode folosite la controlul Cu instrumente universale dimensiunilor.
Cu verificatoare speciale şi Cu verificatoare speciale şi parţial universale. control activ sau automat.
13
Modul de elaborare a procesului După cele mai simple metode pe fişe Cu fişe şi planuri de operaţii tehnologic şi documente folosite. tehnologice fără precizarea tuturor însoţite de schiţe a prelucrărilor indicaţiilor tehnologice. ce conţin toate datele tehnologice necesare.
Cu planuri de operaţii foarte amănunţit întocmite ţinând cont de mâna de lucru redus calificată.
14
Modul de stabilire a normei Statistic sau prin similitudine având Analitic sau prin cronometrare tehnice de timp. la baza elemente cronometrate.
Analitic şi cu toate detaliile stabilite.
22
Modelarea şi simularea sistemelor de producţie
1.5.
METODICA DE ELABORARE A PROCESELOR TEHNOLOGICE
În contextul actual, un proces tehnologic conceput într-un anume scop, nu mai este un simplu document reprezentat printr-o fişă tehnologică sau un plan de operaţii. El reprezintă documentul tehnologic de bază ce sintetizează condiţiile optime create pentru a transforma semifabricatul de pornire într-o piesă finită, ale cărei caracteristici sunt impuse de ansamblul funcţional din care face parte. Proiectarea unui proces tehnologic de orice natură, presupune rezolvarea următoarelor probleme: 1. Calculul ritmului liniei tehnologice şi a lotului optim de piese aflate simultan în fabricaţie. Se efectuează cu scopul de a asigura : o încărcare uniformă a maşinilor, utilajelor din linia tehnologică, o aprovizionare ritmică a liniei de montaj cu piese simple, de a evita staţionarea îndelungată a unui număr prea mare de piese de pe linia de fabricaţie, pentru a evita schimbarea repetată a S.D.V. – urilor. 2. Alegerea semifabricatului. Se face de către inginerul proiectant al piesei ce cunoaşte cel mai bine caracteristicile acesteia. 3. Divizarea procesului tehnologic în operaţii. Stabilirea numărului de operaţii ale unui proces tehnologic de prelucrare mecanică, cât şi al succesiunii acestora în funcţie de : mărimea şi configuraţia piesei, de numărul suprafeţelor de prelucrat, de dispunerea acestora, de gradul de finisare impus suprafeţelor. Fiecare piesă, supusă prelucrărilor, admite mai multe variante de proces tehnologic în funcţie de forma funcţional tehnologică stabilită şi poate admite un anumit proces tehnologic numai dacă forma sa este modificată corespunzător, încât să permită utilizarea acelor procedee de prelucrare care se includ în procesul tehnologic. Se alege în final varianta optimă. 4. Indicarea maşinilor unelte pentru fiecare operaţie.- Pentru fiecare variantă de proces tehnologic, întocmită, se indică m.u. necesare ţinându-se cont de cele prezentate la punctul 3 şi de condiţiile de prelucrare impuse de fiecare m.u.; de precizia de prelucrare, de sculele utilizate şi de numărul de suprafeţe ce se prelucrează la o singură instalare a piesei pe maşina unealtă. 5. Alegerea bazelor tehnologice de prelucrare. Bazele tehnologice necesare instalării piesei pe o m.u., în vederea prelucrării, se stabilesc încă din proiectare, prin forma funcţional tehnologică impusă acesteia. Tehnologul de secţie analizează piesa şi stabileşte amănuntele modului de instalare cu ajutorul dispozitivelor, utilizând bazele tehnologice create din proiectare. 6. Calculul erorilor de bazare şi minimalizarea lor prin schimbarea bazelor tehnologice şi de măsurare cât şi a schemei de instalare. 7. Indicarea echipamentului tehnologic (S.D.V. –urile) necesar fiecărei operaţii. 8. Calculul adaosului de prelucrare şi a dimensiunilor intermediare. În producţia de serie mare sau masă este necesară stabilirea riguroasă a dimensiunilor semifabricatelor şi a celor intermediare, aferente diferitelor operaţii (strunjire, frezare, rectificare, …etc.) întrucât sistemele tehnologice, din linie sunt reglate să îndepărteze o anumită cantitate de material.
-23-
Capitolul 1
9. Calculul regimurilor de lucru. Viteza de aşchiere, de deformare plastică, de turnare, de sudare, … etc., se stabileşte anticipat de către inginerul tehnolog pentru producţia de serie mare sau masă şi de către muncitor în cazul producţiei individuale. 10. Calculul preciziei de prelucrare pentru sistemul tehnologic. 11. Alegerea şi amplsarea raţională a instalaţiilor de ridicat şi transportat piese. 12. Calcul normei de timp şi de prelucrare . Se determină analitic, prin cronometrare, prin metode statistice sau prin metoda similitudinii. 13. Calculul coeficientului de încărcare a utilajelor. 14. Sincronizarea operaţiilor procesului tehnologic. - Acest lucru se realizează cu precădere numai la procesele tehnologice desfăşurate pe linii tehnologice destinate unei singure piese sau unui număr mic de piese, cu scopul obţinerii unei încărcări uniforme şi maxime a m.u. din linia respectivă. 15. Întocmirea schemei liniei tehnologice. Schema liniei tehnologice se întocmeşte într-un număr de variante identic cu numărul proceselor tehnologice întocmite. 16. Alegerea variantei optime de proces tehnologic. Proiectarea mai multor variante de proces tehnologic permite alegerea celei mai optime, pe cale analitică utilizând calcule simple de eficienţă a variantei sau prin metoda programării matematice când funcţia obiectiv poate fi costul minim al fabricaţiei sau productivitatea maximă, la care se adaugă condiţiile restrictive rezultate cu ocazia analizelor din etapele anterioare. 17. Întocmirea documentaţiei tehnologice.
1.6.
SISTEME FLEXIBILE DE FABRICAŢIE 1.6.1. NOŢIUNI INTRODUCTIVE
Sistemul flexibil de fabricaţie (SFF) reprezintă un sistem evoluat de fabricaţie nu numai pentru că este ultimul concept elaborat, în timp, în domeniul producţiei bunurilor materiale ci, mai ales, prin faptul că determină o îmbunătăţire tranşantă a economicităţii procesului de producţie, în condiţiile în care acesta este orientat spre necesităţile de bunuri reale şi predominante ale societăţii umane, adică bunuri larg diversificate tipologic care se produc în cantităţi mici. Problema câştigă mult în semnificaţie şi importanţă în contextul în care se apreciază că, azi, producţia de serie mică reprezintă 60-80% din producţia industrială a ţărilor avansate, iar raportul dintre costul unitar la producţia de unicate şi la producţia de masă poate ajunge la 30/1. De multe ori, se face o asociere între fabricaţia flexibilă şi prezenţa roboţilor în sistemele de fabricaţie. Roboţii industriali au deschis o eră nouă în istoria tehnici netezind drumul spre automatizarea flexibilă şi, pe această bază, spre fabricaţia flexibilă. De asemenea roboţii industriali reprezintă, însă, doar unul dintre filoanele care alimentează substanţa conceptului actual de fabricaţie flexibilă şi suportul ei material: sistemul flexibil de fabricaţie (SFF). La aceasta se adaugă calculatorul electronic, comanda după program a maşinilor unelte şi tehnologia de grup, fiecare având în spate o istorie proprie, o direcţie şi un ritm propriu de dezvoltare. Unitatea organică dintre acestea, stăpânită prin intermediul teoriei sistemelor, a generat, aşadar, o -24-
Modelarea şi simularea sistemelor de producţie
culminaţie în fabricaţia bunurilor materiale care prefigurează viitorul acestui domeniu: sistemul flexibil de fabricaţie (SFF). În anul 1958 se realizează primul sistem flexibil de fabricaţie, în SUA, la Hughes Aircraft. În literatura de specialitate, nu există un consens cu privire la data apariţiei SFF, unii autori datează apariţia lor în anul 1965, alţii la sfârşitul anilor ’60 şi începutul anilor ’70. SFF fără operatori umani, se consideră că au devenit operaţionale în Japonia, Rusia, Germania, Franţa şi Italia după anul 1983. 1.6.2. SISTEME DE FABRICAŢIE La modul general, un sistem poate fi definit ca un ansablu de elemente, legate între ele prin forme de interacţiune sau interdependenţă, care funcţionează în scopul realizării unui obiectiv comun. În legătură cu sistemele se pot dezvolta trei aspecte esenţiale : • funcţional; •
structural;
• ierarhic; Studiul sistemelor de fabricaţie trebuie să se integreze în această viziune tridimensională (vezi figura 1.6).
Figura 1.6 Aspectul funcţional descrie sistemul într-o formulă cauzală, în sensul dependenţei ieşirilor din sistem de intrările în sistem. În sistemele de fabricaţie acest aspect reprezintă viziunea tehnologică, adică sistemul este “ceva” care trebuie să transforme semifabricate în produse finite materializând anumite procedee tehnologice. -25-
Capitolul 1
La aspectul structural urmărim componenţa sistemului şi relaţiile dintre elementele sale. În sistemele de fabricaţie acest aspect asimilează preocupările constructive, adică proiectarea echipamentelor din care este compus sistemul şi crearea posibilităţilor de interconectare a acestora. Aspectul ierarhic conturează limitele sistemelor, adică posibilităţile de agregare/dezagregare ale unui sistem într-un sistem mai mare sau în subsisteme. Acest aspect, este aspectul organizatoric (managerial) care face ca sistemul de fabricaţie să fie mai mult decât suma componentelor sale. El ataşează ranguri componentelor sistemului de fabricaţie, le interfaţează, le asociază unor funcţii, le stabileşte criterii de performanţă şi modalităţi de conducere, le integrează şi le conectează cu elemente din mediul înconjurător. Aspectul ierarhic al sistemului de fabricaţie pune în operă însăşi flexibilitatea sistemului deoarece prin ataşarea unor noi subsisteme la sistemul considerat, aceasta va include din ce în ce mai multe aptitudini de prelucrare, situaţie, care în revers, presupune un efort economic tot mai mare pentru construcţia sistemului. Pentru a elimina, de la început, unele posibile surse de confuzie, trebuie specificată diferenţa dintre conceptul de fabricaţie şi cel de producţie. Producţia, înseamnă orice activitate prin care se depune sau se transferă valoare de întrebuinţare sau se conferă utilitate unor bunuri şi servicii. Producţia, aşadar, presupune, la modul general, adăugarea unui plus de utilitate pentru un obiect sau serviciu. În cadrul acestui concept, fabricaţia are un caracter mai restrictiv, fiind legată mai mult de obiect decât de servicii şi urmărind, în esenţă, generarea unei forme, a unei configuraţii materiale, în urma unui proces, în principal transformativ. Cu alte cuvinte, producţia poate include şi activităţi în genul transportului sau stocării, extinzându-se şi în sfera serviciilor, iar fabricaţia este orientată spre obţinerea unui obiect, operând în general, cu elemente materiale. În problematica fabricaţiei, mai apare o demarcaţie între fabricaţia “în modul” şi fabricaţia “în sistem”. Fabricaţia în modul este fabricaţia clasică, pe maşini universale fără legătură între ele. Fabricaţia în sistem presupune gruparea utilajelor cu funcţiuni în general diferite, pentru realizarea unui anumit proces. Procesul este factorul care defineşte sistemul şi-l menţine în coerenţă. Perturbaţiile în funcţionarea componentelor se repercutează asupra procesului în ansamblu. Astfel la fabricaţia de tip modul principalele probleme, în concepţie, sunt legate de construcţia şi funcţionarea modulului, pe când la fabricaţia în sistem, problemele de concepţie sunt centrate pe automatizare şi fiabilitate. Şi criteriile de optimizare sunt diferite. La fabricaţia în modul se urmăreşte maximizarea performanţei modulului sau reducerea costului său la aceeaşi performanţă, iar la fabricaţia în sistem se urmăreşte economia procesului pe care-l materializează sistemul. Stabilirea tipului de fabricaţie în modul sau în sistem şi, mai departe, genul de sistem care este cel mai potrivit, porneşte de la natura sarcinii de producţie descrisă de obicei prin criteriile : !"capacitatea de producţiae necesară; !"volumul de producţie anual; !"mărirea loturilor de fabricaţie; !"gradul de asemănare a itinerariilor tehnologice pentru produsele care constituie sarcina de producţie; !"diversitatea tipologică a produselor din sarcina de producţie; Existenţa unor tipuri diferite de produse, în sarcina de producţie a unui sistem, activează una din cele mai studiate proprietăţi ale sistemelor de fabricaţie ; flexibilitatea.
-26-
Modelarea şi simularea sistemelor de producţie
1.6.3. FLEXIBILITATEA SISTEMELOR DE FABRICAŢIE În ultimii 25-30 de ani, flexibilitatea a devenit o dominantă în studiul sistemelor de fabricaţie. Această importanţă şi-a dobândit-o în concordanţă cu diversificarea tot mai accentuată a cererii de bunuri materiale şi cu acţiunea unor comandamente economice din ce în ce mai exigente în spaţiul fabricaţiei. Flexibilitatea, în sens restrâns, adică înţeleasă ca şi capacitate de adaptare a sistemelor de fabricaţie la variaţia sarcinii de fabricat, nu este nouă, ea fiind specifică fabricaţei pe maşini universale. Actualitatea acestui concept constă în termenii în care se pune problema azi : adaptabilitate în condiţii economice, adică în condiţiile creşterii productivităţii muncii. Tabelul 1.1 Nr. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
SEMNIFICAŢIA Reglaje / reechipări maşini. Schimbare / comutare programe de comandă pentru maşini. Selecţie / adecvare scule, dispozitive, mijloace de manipulare, poziţionare şi orientare. Schimbare / generare itinerare de fabricaţie. Corelare itinerare de fabricaţie la piese diferite care se prelucrează simultan în sistem. Modificare trasee fizice de trecere prin sistem. Substituire elemente avariate fără întreruperea procesului. Egalizarea / reglarea încărcării unităţilor de lucru prin redistribuirea sarcinilor. Sincronizare / egalizare ritm de lucru în unităţile de lucru. Dezvoltare / reducere sistem. Schimbare conexiuni între elementele sistemului. Restructurare / metamorfozare sistem. Compensarea / echilibrarea perturbaţiilor accidentale. Modificare / adaptare programe de comandă şi control la nivel de sistem. Redundanţă / paralelism funcţional şi structural. Încadrare înparametrii exteriori sistemului; productivitate, termene de livrare, eficienţă. Revenire / menţinere a nivelului unor parametri în condiţii instabile de funcţionare a sistemului.
Aceste condiţii sunt asigurate de automatizare şi robotizare. Aşa s-a ajuns la conceptul de automatizare flexibilă. O esenţializare a semnificaţiilor atributului de flexibilitate este prezentată în tabelul 1.1. Sintetizând aspectele din tabelul 1.1, se poate formula următoarea definiţie pentru flexibilitate: capacitatea sistemului de fabricaţie de a se adapta rapid şi economic la schimbările provenite din mediul exterior sau din interiorul său, schimbări care pot fi predeterminate sau accidentale, previzibile sau imprevizibile şi pot avea un caracter de durată sau temporar. În principal schimbările provenite din mediul exterior decurg din variabilitatea sarcinii de fabricaţie, iar cele provenite din interiorul sistemului sunt cauzate de defecţiuni. În figura 1.7 sunt prezentate elementele de definiţie ale sistemului de fabricaţie la care se poate asocia proprietatea de flexibilitate şi care generează, în consecinţă, flexibilitatea de sistem. Evoluţia sistemelor de fabricaţie a fost motivată de doi factori principali : creşterea productivităţii, pe de o parte, şi mărirea numărului de tipuri de produse cre se pot realiza în sistem (flexibilitatea sistemului), pe de altă parte. Dacă considerăm un sistem de referinţă care poziţionează într-o matrice gradul de perfecţionare a muncii pe linii şi flexibilitatea pe coloane, se poate urmări evoluţia sistemelor de organizare a producţiei pe cele trei paliere (I, II şi III), fiecare palier însemnând un salt de productivitate (figura 1.8). -27-
Capitolul 1
Pe acelaşi palier, trecerea de la fabricaţia unui singur tip de produs, la producţia mai multor tipuri de produse din aceeaşi familie sau clasă şi, apoi, la producţia reperelor din clase diferite, a însemnat în general o reducere a productivităţii. Această tendinţă s-a reluat mereu, dar mai estompat la trecerea pe un palier mai evoluat, în condiţiile în care în procesul de fabricaţie se introduce tot mai multă informaţie.
Figura 1.7 Evoluţia producţiei de bunuri materiale va genera, desigur, noi paliere cu productivitate superioară. Următorul palier va cunoaşte şi el delimitările productivităţii, impuse de flexibilitate, dar cu mai puţină acuitate. La fiecare din cele 9 zone care s-au creat în cadrul reţelei din figura 1.8, se poate asocia un mod de organizare a producţiei bunurilor materiale. Astfel, dacă în zona 1 se recunoaşte munca cu productivitate redusă a producătorului individual care realizează complet un produs cu mijloace rudimentare acţionate manual, în zona 9 putem situa cu certitudine conceptul actual de organizarea producţiei prin integrarea calculatorului - CIM (Computer Integrated Manufacturing). Funcţiile sistemelor moderne de producţie sunt tot mai mult preluate sau asistate de calculator, generând conceptul de CIM : 1. CAC (Computer Aided Clamping) = prindere, fixare, poziţionare asistată de calculator; 2. CAD (Computer Aided Design) = proiectare constructivă asistată de calculator; 3. CAE (Computer Aided Engineering) = proiectare tehnologică asistată de calculator -28-
Modelarea şi simularea sistemelor de producţie
4. CAI (Computer Aided Inspection) = control de calitate asistat de calculator; 5. CAQ (Computer Aided Quality) = asigurarea calităţii asistată de calculator; 6. CAM (Computer Aided Manufacturing) = fabricaţie asistată de calculator; 7. CAP (Computer Aided Planning) = planificarea fabricaţiei asistată de calculator; 8. CAS (Computer Aided Service) = service asistat de calculator; 9. CAT (Computer Aided Testing) = probe (testări) asistate de calculator; 10. CNC (Computer Numerical Control) = comandă numerică cu calculatorul; 11. DNC (Direct Numerically Controlled) = comandă numerică directă.
Figura 1.8 1.6.4. SISTEME FLEXIBILE DE FABRICAŢIE Conceptul actual de fabricaţie flexibilă se referă la fabricaţia care utilizează automatizarea flexibilă şi nu la fabricaţia clasică, care, în sensul larg al flexibilităţii, poate fi considerată şi ea tot o fabricaţie flexibilă. Entitatea organizatorică în care se realizează fabricaţia flexibilă pe baza automatizării flexibile, este denumită generic “sistem flexibil de fabricaţie”. În interiorul acestui concept s-au făcut mai multe delimitări. În figura 1.9 este prezentată o structură a conceptului de sistem flexibil de fabricaţie pe 4 niveluri, mai larg acceptată.
-29-
Capitolul 1
Legendă 1. Fabrică automatizată flexibil. 2. Ateliere (sisteme) flexibile (SFF). 3. Celule flexibile (CFF)
4. Unităţi (module) flexibile (MFF). 5. Linii flexibile. 6. Maşini unelte CNC deservite de roboţi
Figura 1.9 Structura unui sistem flexibil de fabricaţie stratificat pe 4 niveluri Componentele principale ale acestei structuri sunt: %"
%" %"
%"
Modulul flexibil de fabricaţie (MFF) = este compus dintr-o maşină (de obicei un centru de prelucrare), un depozit multipalete, un schimbător de palete şi un dispozitiv de schimbare a sculelor. Celula flexibilă de fabricaţie (CFF) = este compusă din două sau mai multe maşini restul elementelor fiind la fel ca şi la MFF. Atelierul (sistemul) flexibil de fabricaţie (SFF) = este definit, în general, ca o reuniune de CFF interconectate prin sisteme automate de transport pentru piese şi scule. Fabrica (uzina) automatizată flexibil rezultă prin integrarea mai multor SFF. În această entitate, procesul de fabricaţie este complet automatizat.
La sistemele flexibile de fabricaţie (SFF) interesul pentru problemele de eficienţă economică este mai pregnant decât la oricare dintre sistemele de fabricaţie cunoscute. Explicaţia constă în faptul că SFF generează costuri mari de investiţii care trebuie recuperate în cel mai scurt timp din economiile pe care acestea ar trebui să le determine. Introducerea SFF a generat o serie de avantaje privind: creşterea mobilităţii în asimilarea produselor noi; &" ridicarea calificării forţei de muncă prin deplasarea ei spre activităţile preponderent &" intelectuale; utilizarea mai bună a capitalului prin distribuirea sa mai eficientă între clădirile, utilajele şi &" materialele procesului; realizarea unui proces de producţie “transparent” uşor de supravegheat în punctele sale &" principale; îmbunătăţirea calităţii prin respectarea rigidă a etapelor procesului de producţie. &" -30-
Modelarea şi simularea sistemelor de producţie
Aspectele definitorii ale SFF sunt prezentate sistematizat în tabelul 1.2. Tabelul 1.2 DOMENIUL
ASPECTUL
Numărul de maşini sau staţii de lucru ≥ 2 Comanda numerică a maşinilor. Calculator central pentru controlul sistemului. COMANDA ŞI Sistem de comandă şi control ierarhizat pe niveluri. SUPRAVEGHEREA Atribuţii de echilibrare, redistribuire sarcini, uniformizarea FUNCŢIONĂRII încărcăturii şi egalizarea ritmurilor staţiilor de lucru. SISTEMULUI Depistarea avariilor şi substituirea elementelor defecte. Generarea unor itinerare de fabricaţie diferite. Produse (repere) diferite. Produse (repere) provenite din aceeaşi familie. SARCINA Posibilitatea prelucrării simultane a unor produse (repere) diferite. DE Volume de producţie anuale mici şi mijlocii grupate în loturi de FABRICAŢIE mărime mică sau medie. Gruparea pieselor şi organizarea fabricaţiei pe principiile tehnologiei de grup. APROVIZIONARE Flux automat de materiale cu succesiune programată. CU PIESE ŞI Flux automat de scule cu schimbare automată a sculelor. SCULE Control dimensional automat. CONTROLUL FABRICAŢIEI Timp/cost redus de trecere de la fabricaţia unui tip de produs la altul. ALTE ASPECTE Intervenţie umană minimă sau inexistentă. Condiţii economice comparabile cu producţia de serie şi masă. MAŞINI
Cu toate acestea fabricaţia flexibilă presupune şi anumite dezavantaje sau dificultăţi care temperează ritmul de introducere al SFF, cum ar fi: $" introducerea lor este costisitoare şi nu sunt clarificate încă toate problemele tehnice; $" mare parte a acestor sisteme nu sunt integral un succes economic; $" apar unele erori de concepţie, proiectanţii ne fiind capabili să anticipeze cu precizie gradul de flexibilitate optim; $" nu se poate face o fundamentare corectă a costurilor investiţionale şi acestea de cele mai multe ori depăşesc anticipările; $" trebuie realizată o corelare perfectă cu funcţiile de aprovizionare şi întreţinere; $" este dificilă, încă, evaluarea rentabilităţii investiţiilor în condiţiile modificării permanente a tehnologiilor şi a sortimentului producţiei;
-31-
Capitolul 1
$" generează dificultăţi în ceea ce priveşte integrarea eficientă în gestiunea sistemului productiv de ansamblu; $" generează condiţii de muncă substanţial diferite creând posibilitatea apariţiei unor stresuri psihice sau a unor surse noi de pericole pentru sănătatea operatorilor.
1.6.5. PRINCIPIILE FABRICAŢIEI FLEXIBILE Principiile care determină specificitatea tehnologică a sistemelor flexibile de fabricaţie sunt: 1. Trecerea de la optica de tip modul, la optica de tip sistem. 2. Fluctuaţiile, între anumite limite, ale parametrilor fabricaţiei. 3. Necesitatea descrierii sarcinii de producţie variabile. 4. Necesitatea trecerii rapide şi economice a sistemului de fabricaţie de la fabricaţia unui tip de produs la altul. Primul principiu dictează necesitatea abordării fabricaţiei în termenii teoriei sistemelor. Capătă importanţă problemele de fiabilitate, de interfaţă între componentele sistemului, de comandă corelată a acestora. Proiectarea sistemului necesită modelare şi simulare. Al doilea principiu determină şi el schimbări de accente. Acum se operează cu mulţimi de repere, cu intervale de performanţă. Sunt adecvate metodele statistice şi elementele de calcul probabilistic. În contextul fluctuaţiei parametrilor sarcinii de producţie, se va opera cu mărimi statistice de genul mediei şi dispersiei şi vor fi utilizate acele metode care oferă o imagine de tendinţă în mulţimea valorilor acestor parametrii. Al treilea principiu presupune utilizarea sistemelor de codificare pentru descrierea şi apoi identificarea sarcinii de producţie variabilă. Pe această bază se realizează gruparea sarcinii de producţie în raport cu anumite criterii. Este un demers propriu etapei de analiză a sarcinii de producţie. Al patrulea principiu pune în primul plan activităţile de pregătire a sistemului de fabricaţie. Din acest principiu decurge proprietatea de flexibilitate a sistemului. Programarea fabricaţiei este integrată în cadrul problemelor tehnologice. Aici programarea fabricaţiei capătă o valenţă nouă: determină o schimbare de stare a sistemului la fiecare schimbare a tipului sarcinii de producţie. Pe fundalul generat de aceste patru principii apar particularităţi ale elementelor ce participă la fabricaţie în cadrul SFF. Unităţile de lucru (maşinile-unete) trebuie să rezulte din soluţii constructive modulare care permit restructurarea sistemului fără oprirea lui din funcţiune. Vor fi accentuate problemele de fiabilitate a subansamblelor şi cele privind autodiagnosticarea defecţiunilor şi dereglărilor. Sculele utilizate în SFF trebuie să fie cât mai universale. Dispozitivele trebuie să permită, pe cât posibil, prelucrarea dintr-o singură prindere, să fie cât mai universale. Depozitele şi stocatoarele SFF sunt foarte importante. Ele trebuie să aibă mai mult atribuţiile de punct de tranzit cu aptitudini de recunoaştere şi selectare a pieselor, decât atribuţiile de acumulare şi stocare. Instalaţiile de transport şi manipulare trebuie să soluţioneze dezideratul manipulării unei varietăţi de repere în orice secvenţă necesară. Piesele de prelucrat se vor selecta în urma unei analize complexe a sarcinii de producţie. În această analiză principiile tehnologiei de grup vor avea o mare importanţă. -32-
Modelarea şi simularea sistemelor de producţie
Un SFF reprezintă o investiţie de anvergură care trebuie pregătită corespunzător. Elementele principale de analiză care trebuie să stea în atenţia proiectantului de SFF sunt prezentate în figura 1.10.
Figura 1.10 Elemente şi etape de analiză la constituirea unui SFF În primul etaj sunt prezentate aspectele cuprinse în categoria premiselor pentru constituirea SFF. Imaginea 1 corespunde etapei de inventariere a tehnologiilor posibile de realizat în întreprindere -33-
Capitolul 1
şi a utilajelor care obiectivează aceste tehnologii. Este firesc ca SFF să fie cantonat în domeniul tehnologic delimitat în urma acestei explorări. Imaginile 2, 3 4 se referă la obiectul de prelucrare prezumat pentru SFF, astfel: imaginea 2 arată ce este posibil de realizat, imaginea 3 arată ceea ce trebuie realizat în conformitate cu necesităţile prezentului, aşa cum sunt reflectate acestea în planul de producţie, iar imaginea 4 reprezintă preocuparea pentru ceea ce s-a realizat în trecut în întreprindere. În această analiză trebuie evidenţiate asemănările, repetiţiile, consumul de timp de prelucrare. Este o primă percepţie a consistenţei şi stabilităţii sarcinii de producţie de realizat în SFF. În etajul următor, SFF începe să se contureze. În imaginea 5 se sugerează studiul succesiunii operaţiilor la reperele prezumate a se realiza în SFF în perspectiva unificării unor itinerare tehnologice. În această etapă, se crează o mulţime iniţială a reperelor compatibile din punct de vedere tehnologic. Apoi în imaginea 6, este redată etapa de analiză a sarcinii de producţie în urma căreia se sedimentează nomenclatorul de fabricaţie al SFF. Pornind de la numărul tipurilor care trebuie realizate în sistem şi de la volumul annual de producţie se stabileşte structura sistemului (imaginea 7) ce se descrie ca modul, celulă sau sistem flexibil şi unităţile de lucru.
-34-
Modelarea şi Simularea Sistemelor de Producţie
CAPITOLUL 2 PROBLEMATICA MODELĂRII SISTEMELOR DE PRODUCŢIE 2.1.
CONCEPŢIA DE MODELARE
În urma definirii problemei se construieşte modelul sistemului în totalitatea lui, precum şi modelele pentru componentele separate ale sistemului. De menţionat că modelarea nu este o activitate nouă. Ştiinţa se bazează în general pe noţiunea modelării şi progresul ştiinţei este progresul modelării fenomenelor naturale şi a ideilor. Scopul construirii modelului : !"relevarea fenomenelor ce se produc în interiorul sistemului pe care-l reprezintă; !"prevederea şi aprecierea consecinţelor sau utilităţii diferitelor politici de luare a deciziilor; !"descrierea concretă a elementelor la care se referă. Construirea unui model este o echilibrare “artistică” a unor contrarii care cere subtilitate şi pricepere. Pe de o parte modelul trebuie să fie destul de simplu de utilizat, ceea ce înseamnă că el trebuie să fie o abstracţie de la realitate, pe de altă parte modelul trebuie să fie o reprezentare destul de fidelă a sistemului pe care îl reprezintă. 2.2. ETAPELE PROCESULUI DE MODELARE Modelul economico-matematic fiind o reprezentare izomorfă a realităţii, oferă o imagine intuitivă, dar riguroasă, în sensul structurii logice a fenomenului studiat, facilitează dexcoperirea unor legităţi foarte greu de stabilit pe alte căi. Modelele trebuie să se caracterizeze prin simplitate, supleţe, accesibilitate şi adaptabilitate. Procesul modelării cuprinde următoarele etape: 1) cunoaşterea detaliată a realităţii sistemului (procesului) ce se modelează; 2) construirea propriu-zisă a modelului economico-matematic; 3) experimentarea modelului economico- matematic; 4) implementarea modelului economico-matematic; Construirea propriu-zisă a modelului constă fie în alegerea unuia din numeroasele instrumente clasice de modelare, care corespunde problemei formulate fie în elaborarea unor modele noi. În primul caz, analistul trebuie să stabilească corespondenţa dintre realitate şi instrumentul de modelare cunoscut din literatura de specialitate. -35-
Problematica modelării sistemelor de producţie
Atunci când analistul este în situaţia de a elabora modele noi, acestea pot fi de două feluri, şi anume : o combinaţii de modele clasice, din domeniul teoriei; o modele noi propriu-zise (implicând solide cunoştinţe matematice); Experimentarea modelului se poate face „in vivo” prin aplicarea modelului descriptiv sau normativ în practica întreprinderii şi prin constatarea eficienţei sale descriptive/normative. Acest mod de experimentare se poate realiza numai pe eşantioane extrem de reduse, deoarece implică riscuri considerabile. Experimentarea modelului se mai poate face „in vitro” prin generarea unor situaţii posibile ale sistemului, denumite variante, şi prin analiza, cu ajutorul modelelor, a consecinţelor acestor variante, asupra indicatorilor de eficienţă ai sistemului. Acest mod de experimentare se numeşte simulare. 2.3. CLASIFICAREA MODELELOR Modelele se clasifică după două criterii : după tip şi după structură. Clasificarea după tip împarte modelele în : a) modele iconice, sunt machetele sau modelele reduse sau mărite, “identice” în mare sau în mic cu obiectul pe care îl reprezintă. Tot în categoria modelelor iconice intră şi schemele. b) modele analogice. Acestea substituie studierea unui fenomen altuia considerat ca analog. Problema este rezolvată în stare substituentă, iar apoi soluţia obţinută este raportată la dimensiunile sau proprietaţile originalului (măsurarea mărimilor neelectrice pe cale electrică, exemplu forţa de comprimare a unui resort prin tensiune electrică). Pentru procesele tehnologice capătă o importanţă deosebită cunoştinţele legate de bazele cercetării experimentale în tehnologia construcţiilor de maşini; c) modele matematice (simbolice). Sunt de departe cele mai importante, fiind cele mai abstracte şi deci cele mai generale modele. Matematica este curent definită ca fiind ştiinţa despre care raporturile cantitative şi formele spaţiale ale lumii reale. Ea nu este legată de studiul unei anumite forme de mişcare. În aceste modele, un simbol cum ar fi x sau α reprezintă o cantitate cum ar fi o distanţă, un grad de încărcare, valoarea beneficiului etc. Modelele simbolice utilizează numai relaţii logice şi matematice. Ele pot fi calitative şi cantitative, acestea din urmă presupunând stabilirea unor relaţii logice sau matematice între un anumit număr de intrări şi ieşiri selecţionate. Cuantificarea nu este însă întotdeauna posibilă, deoarece mai există încă numeroase dificultăţi: -
insuficienţa tehnicilor de măsurare;
-
relaţii prea complicate pentru a putea fi descrise;
-
un număr prea mare de variabile utile; -36-
Modelarea şi Simularea Sistemelor de Producţie
-
necunoaşterea existentei variabilelor sau relaţiilor;
După criteriul structural, modelele pot fi împărţite în : a) modele descriptive, care nu conţin judecăţi de valoare asupra ieşirilor; b) modele matematice, care cuprind un număr de alegeri “raţionale” care însă nu pot reprezenta o garanţie absolută. Modelele sistemelor reprezintă combinaţii a celor trei tipuri fundamentale în funcţie de complexitatea sistemului. Modelele au o gamă largă de complexitate de la elementar la complex şi de la fizic la matematic. Pentru sistemele de echipamente concepţia modelării este evidentă, pentru sistemele de concepţie trebuie făcută precizarea că concepţia este în realitate bazată pe două noţiuni elementare : 1) un model este o reprezentare care poate fi realizată simplu sau complex în funcţie de factorii, pe care cel care face analiza doreşte să-i ia în consideraţie şi ipotezele pe care analistul le face în legătură cu aceşti factori; 2) un model este utilizat până ce se ajunge la o soluţie. 2.4. MODELE DESCRIPTIVE ŞI NORMATIVE ([27]) Modelele descriptive – au ca obiect reproducerea unor proprietăţi ale sistemului modelat. Modelele normative sunt utilizate pentru aplicarea unor reguli cât mai eficiente de decizie în întreprindere (cu scopul creşterii performanţelor). În general, modelele economico-matematice ce pot fi concepute într-o întreprindere industrială, au atât trăsături descriptive, cât şi trăsături normative. Modelele descriptive sunt organizate în următoarele grupe structurale: modele ce surprind aspectele tehnologice şi de producţie; #" modele informaţional – decizionale; #" modele ale relaţiilor umane; #" modele informatice. #" 2.5. MODELE CE SURPRIND ASPECTE TEHNOLOGICE ŞI DE PRODUCŢIE ([27]) Model arborescent pentru descrierea produselor şi calculul necesarului de resurse materiale Modelul ne indică, cu ajutorul unui graf, arborescenţa unui anumit produs P. Prin arborescenţă se înţelege descompunerea produsului finit în componenetele sale, cu precizarea normelor de consum conform reţetei de fabricaţie; descompunerea se realizează pe mai multe niveluri şi anume pe atâtea câte sunt necesare ca pe ultimul nivel să se poată citi componentele de bază, respectiv resursele materiale. Pentru exemplificare, folosim următoarele notaţii : -37-
Problematica modelării sistemelor de producţie
PFi ( i = 1, …, p) = produsul finit; Qi ( i = 1, …, p) = cantităţile ce urmează a fi fabricate din produsul finit PFi; Cik = norma de consum din materialul MPk pentru produsul PFi ; Nn = cantitatea necesară din materia primă (n); Relaţia de calcul al cantităţilor necesare de materii prime, pentru un nivel, este dat de relaţia: Nk =
p n
∑ ∑ Cik Qi
i =1k =1
Pentru situaţiile în care arborescenţa este mai complicată pe mai multe niveluri – notând cu V numărul de niveluri care intervin, şi cu h – rangul nivelului, formula generală de calcul al necesarului de resurse materiale devine: Nk =
p Vik
i =1 h =1
∑ ∏ Cik ,h −1 Qi , k = 1, n
Suma arată că se vor aduna cantităţi pentru subproduse identice. De aici şi denumirea de calcul cu ajutorul "exploziilor sumarizate". Informaţiile oferite de acest model arborescent sunt completate de "Fişa tehnologică a produsului" împreună oferind imaginea completă asupra structurii tehnologice a unui produs. Modele tip grafice Gantt Aceste modele cunosc o largă răspândire în multiple domenii unde apare problema succesiunii în timp a unor activităţi. Pot fi folosite atât ca modele descriptive cât şi ca modele normative, când este vorba de secvenţe tehnologice. Modele de tip ADC (analiza drumului critic) Grafele ADC reprezintă condiţionările logice şi tehnologice dintre activitaţile unui proiect şi oferă posibilitatea luării în considerare a necesarului privind resursele materiale, umane şi financiare. Oferă numeroase şi utile informaţii : termene de începere şi terminare a activităţilor, rezerve, activităţi critice, diagrame privind nivelarea, alocarea resurselor care prezintă interes pentru practicieni. Modele de ordonanţare şi lotizare Problemele de ordonanţare constau în stabilirea unei ordini de efectuare a activitaţilor unui proces de producţie, astfel ca interdependenţele dintre ele să fie respectate în limita resurselor disponibile şi cu o durată totală minimă de execuţie. Aceste modele se bazează pe tehnici combinatorice şi pe procedee cunoscute sub denumirea "branch and bound" ( "ramifică şi mărgineşte). -38-
Modelarea şi Simularea Sistemelor de Producţie
Printre modelele clasice ale teoriei ordonanţării sunt : ordonanţarea a n repere pe m maşini (job shop), ordonanţarea în flux (flow shop), algoritmi pentru ordonanţarea cu restricţii de resurse limitate, modele de ordonanţare bazate pe programarea liniară în numere întregi, modele ADC de tip euristic. Pentru a nu simplifica extrem de mult realitatea, modelele de lot optim trebuie să fie integrate cu cele de ordonanţare. Modele pentru determinarea capacitaţilor de producţie Capacitatea de producţie a unei întreprinderi se stabileşte pe baza fondului de timp disponibil al utilajelor. Varietatea acestora precum şi posibilităţile numeroase de calcul a capacităţii nominale, practice, economice conduc la conceperea unor modele complexe. În aceste modele se înlocuieşte capacitatea valorică agregată cu mai mulţi indicatori fizici şi valorici cum ar fi : fondul tehnic de timp pe grupe de maşini, valoarea producţiei marfă obţinută anterior, volumul producţiei exprimat în unitaţi fizice, fondul de timp necesar pentru principalele piese de schimb etc. Cu ajutorul acestor indicatori se exprimă situaţia tehnico-economică existentă în întreprindere la un moment dat (caracter descriptiv). Se poate formula un model de programare liniară cu mai multe funcţii obiectiv. În felul acesta modelul va include şi aspecte normative. Capacitatea de producţie se poate optimiza din mai multe puncte de vedere: al reducerii consumului de materii prime sau de energie, al reducerii numărului de personal utilizat, al valorificării cât mai bune a materiilor prime etc., în condiţiile satisfacerii programului sortimental contractat şi a unor costuri minime. Modele pentru determinarea structurii de producţie pe o perioadă dată Aceste modele pun problema determinării unei structuri de producţie pe o perioadă dată în funcţie de cerinţele pieţei (contracte încheiate) şî resurse disponibile, care mateximizează sau minimizează, după caz, una sau mai multe funcţii obiectiv, cade exemplu : maximizarea profitului, minimizarea costului de producţie, maximizarea cifrei de afaceri, etc. Considerăm Pj (j= 1, …, n) produsele care pot fi realizate într-o întreprindere în cantităţile xj; bi (i = 1, …,m) resursele disponibile (capacităţi de producţie, materii prime, materiale, muncitori, specialişti); aij (i = 1, …,m ; j = 1, …, n) – coeficienţii tehnologici ai capacitaţilor de producţie, norme de materiale şi de muncă. P'j , P"j – limita inferioară, respectiv superioară ce urmează a se fabrica din fiecare produs j impuse de cerinţele pieţei. Chj – coeficientul variabilei xj din funcţie obiectiv cu h= 1, …, r) pentru cele r funcţii obiectiv luate în considerare.
-39-
Problematica modelării sistemelor de producţie
Modelul se scrie astfel: n
∑ aij x j ≤ bi , i = 1,!, m j =1
Pj' ≤ x j ≤ Pj" , xj ≥ 0 n
opt ∑ Chj x j , j =1
j = 1,!, n h = 1,!, r
Acesta este un model de programare liniară cu mai multe funcţii obiectiv, în care restricţiile reprezintă partea descriptivă a modelului, iar funcţia obiectiv, partea normativă. Modele de croire În întreprinderi apar probleme de tăiere sau debitare a unor materiale unidimensionale (bare de oţel, ţevi, tablă, scânduri etc.). Modelul se bazează pe programarea matematică. Notaţii aij – numărul de piese/bucăţi de tip "i" care se debitează/taie/croiesc conform soluţieii (tiparului) "j" ; cj – costul deşeurilor rămase conform soluţiei "j"; Ni – numărul de piese/bucăti necesare de tip "i"; xj – numărul de suprafeţe debitate/croite conform soluţiei "j". Modelul general al problemei de croiere se scrie astfel: ∑ aij x j ≥ N i , i = 1,!, m j
x j ≥ 0,
j = 1,!, n
min ∑ c j x j j
În practică, problemele de croiere sunt rezolvate cu produse program specializate. Modele de transport-repartiţie Aceste modele reprezintă cazuri particulare ale programării liniare, care permit utilizarea unui algoritm expeditiv de rezolvare. Problema de transport, în forma ei generală, constă în găsirea unui plan optim de transport al unui produs omogen în aşa fel încât, ţinând seama de disponibilităţile furnizorilor şi de cerinţele consumatorilor, să se minimizeze cheltuielile de transport sau numărul de km parcurşi. Notaţii xij – cantitatea de marfă ce se transportă de la centrul de expediţie (furnizori) "i" la centrul de destinaţie "j" ; -40-
Modelarea şi Simularea Sistemelor de Producţie
"j";
bj – necesarul la clientul "j"; cij – distanţa sau costul asociat transportului unei unităţi de produs de la furnizorul "i" la clientul ai –cantitatea disponibilă la furnizorul "i" . Modelul se scrie astfel n
∑ xij ≤ ai ,
j =1
i = 1,!, m
m
∑ xij ≥ b j ,
i =1
xij ≥ 0
j = 1,!, n
m n
min ∑ ∑ cij xij i =1 j =1
Şi în acest caz, partea descriptivă a modelului o reprezintă restricţiile, iar partea normativă funcţia obiectiv. Modele pentru probleme de afectare Aceste modele sunt utilizate în următoarele situaţii practice: #"repartizarea muncitorilor pe maşinile unelte existente; #"repartizarea utilajelor pe lucrări; #"repartizarea specialiştilor la diverse sarcini complexe; #"repartizarea navelor la danele portuare sau pe rute diferite. Deci există o mulţime de resurse M = {M1, M2, ..., Mm } care în procesul de producţie industrial trebuie repartizate (afectate) fiecare în parte, la câte una din cele n resurse ale mulţimii N = {N1, N2, ..., Nn }. Astfel iau naştere nişte cupluri (Mj, Nj) cu i=1, ..., m şi j=1, ..., n adică: muncitori pe maşini, utilaje pe lucrări, specialişti pe sarcini de rezolvat, nave pe dane portuare etc. Metodele cele mai cunoscute de rezolvare a modelelor de afectare şi care operează în funcţie de specificul problemei sunt: $"algoritmul ungar; $"metode de tip branch and bound. Modele de flux în reţele de transport Cu ajutorul acestor modele pot fi rezolvate următoarele tipuri de probleme în practică : -
se poate descrie procesul traficului intern într-o uzină; distribuţia unei materii prime fluide sau gazoase în procesul de producţie. -41-
Problematica modelării sistemelor de producţie
Reţeaua de transport este reprezentată de un graf, cu sau fără circuite, în care fiecărui arc (Xi,Xj) i se asociază o capacitate cij care reprezintă fluxul maxim care poate străbate o porţiune din reţea, reprezentată (Xi,Xj) . Problema constă în maximizarea fluxului total efectiv care străbate reţeaua, cu respectarea restricţiilor de capacitate. În general, pentru rezolvare se foloseşte algoritmul Ford-Fulkerson. Modele pentru amplasarea utilajelor Amplasarea utilajelor în secţiile de producţie trebuie făcută în aşa fel încât transportul pieselor care se prelucrează să fie în ansamblu cât mai redus, deci se introduce un indicator de eficienţă. Problema are două părţi: $"parte descriptivă – care constă în caracterizarea tuturor utilajelor din punctul de vedere al posibilităţii de prelucrare a reperelor; $"parte normativă, care constă în intocmirea algoritmilor pentru formarea liniilor tehnologice şi amplasarea propriu-zisă a utilajelor în cadrul liniilor. Caracterizarea utilajelor se face cu o matrice booleană de dimensiuni m x n (m = numărul reperelor, n = numărul utilajelor) cu ajutorul căreia se pune în evidenţă posibilitatea de a prelucra reperul Ri (i= 1, ..., m) pe maşina Mj (j=1, ...,n). Modele pentru fenomene de aşteptare În întreprinderea industrială apar numeroase situaţii de „aşteptare” datorate imposibilităţii de a corela temporal diverse activităţi care se intercondiţionează. Conceperea unui model de „aşteptare” presupune cunoaşterea unor caracteristici ale fenomenului studiat privind numărul mediu de : - unităţi de sistem; - a unităţilor în curs de deservire; - de unităţi în şirul de aşteptare; - de staţii neocupate; - de unităţi ce sosesc într-o unitate dată de timp, precum şi de timp mediu - de servire; - de aşteptare în sistem; - de aşteptare în şir. Interesante sunt analizele ce se fac în legătură cu legea de repartiţie a fenomenului studiat la „intrarea” în „staţia de serviciu” şi legea aceluiaşi fenomen la ieşirea din „staţia de serviciu”. Aceste modele au un caracter complex descriptiv-normativ.
-42-
Modelarea şi Simularea Sistemelor de Producţie
Modele de stocare În general, constituirea stocurilor nu adaugă valoare bunurilor materiale înmagazinate, ci mai mult, stocarea generează anumite cheltuieli directe şi indirecte ca urmare a achiziţionării, transportului, depozitării şî înregistrării unor eventuale pierderi, datorate deprecierii materiilor prime, materialelor etc. Existenţa în activitate a unui program optim de producţie asigură un nivel minim cheltuielilor ocazionate de depozitarea materiilor prime, materialelor şî de eventualele modificări ale volumului producţiei. Sistemele moderne de gestiune a stocurilor presupun ca fiecare întreprindere să răspundă următoarelor cerinţe: !"determinarea cantităţii optime de comandat; !"determinarea perioadei de aprovizionat; !"determinarea stocului de siguranţă optim în condiţiile minimizării cheltuielilor. Principalele elemente ale procesului de stocare sunt : • cererea; • aprovizionarea; • parametrii temporali; • costurile specifice (cost de lansare a unei comenzi, cost de stocare şi cost de penalizare sau rupere). Activitatea de aprovizionare – stocare poate fi formalizată astfel : Se notează C tim Xi S tm
= consumul de material m, la momentul t pentru a obţine produsul i; = cantitatea de produs i, exprimată în unităţi fizice; = stocul de material m, existent la momentul t
dacă C tim ⋅ X i ≥ S tm atunci S tm + ∆S = S tm+1 aşa încât C tim+1 ⋅ X i ≤ S tm+1 Componenta ∆S trebuie determinată cu modele economico-matematice. Gama modelelor de stocare este extrem de diversă (modele deterministe, probabilistice, statice, dinamice, cu cerere continuă, cu cerere discontinuă etc.). În structura modelelor de stocare sunt cuprinse numeroase elemente descriptive, precum şi o parte normativă reprezentată de procesul de determinare a politicii optime de reaprovizionare.
-43-
Problematica modelării sistemelor de producţie
Modele informaţional - decizionale Aspectele informaţional- decizionale sunt surprinse prin elaborarea a două categorii de modele şi anume: !"modele pentru descrierea reţelei informaţional – decizionale : o modele de tip organigramă a structurii organizatorice; o diagramă informaţional-decizională; o modele de tip aval – amonte; !"modele care descriu structura procesului decizional %"modele ale logicii formale; %"modele
ale logicii clasice;
%"modele
ale logicii matematice;
%"modele
axiomatizate;
%"modele
ale teoriei deciziei;
%"modelul %"teoria
deciziilor de grup a lui Arrow;
utilităţii;
%"modele
în condiţii de risc şi incertitudine;
%"modele
multicriteriale.
Modele ale relaţiilor umane Modelarea descriptivă a relaţiilor umane din întreprinderi ridică probleme legate de condiţiile conservării, obiectul observării (indivizi, grupuri şi relaţii reciproce). Printre metodele de investigare se află interviul, chestionarul, autochestionarul. Principalele modele de descriere a relaţiilor interpersonale şî de grup în întreprinderi sunt testele sociometrice, modele pentru descrierea comunicării între indivizi şi grupuri, modele pentru descrierea comunicării între indivizi şi grupuri, modelele de simulare a relaţiilor umane. Un loc aparte îl ocupă modelele descriptive în vederea selecţiei şi promovării personalului (teste de inteligenţă, de aptitudini speciale, de performanţă) şi modele care descriu comportamentul în activitatea economică. Pentru relaţiile umane din întreprinderi există o serie de modele pur normative şî anume : %" modelul conducerii descentralizate a întreprinderii; %" regula stimulării lucrătorilor şi specialiştilor; %" prioritatea relaţiilor de respect şi încredere faţă de cele de autoritate; %" regula responsabilităţii profesionale.
-44-
Modelarea şi Simularea Sistemelor de Producţie
Modele informatice Modelele informatice pot fi grupate în modele complexe hardware, modele de tip software de bază, modele de tip software de aplicaţie şi modele de organizare a datelor (fişiere, bănci şî baze de date). 2.6. MODELAREA PROCEDURALĂ Metodele de optimizare, bazate pe metode normative sunt considerate rigide din punct de vedere al apropierii lor de realitatea economică, practic acestea nu răspund cerinţelor analizei economice asupra modelelor. În acest sens unele inconveniente pot fi depăşite cu ajutorul modelării procedurale. Formularea problemei în cadrul modelării procedurale are drept scop cunoaşterea legilor care definesc fenomenul economic studiat şi analiza aplicării acestora în vederea relizării obiectivelor propuse. Etapele formularii problemei sunt: 1. observarea fenomenelor sub aspectul descriptiv – calitativ. 2.
formularea unor legi de tip descriptiv – calitativ.
3.
observarea fenomenelor sub aspect cantitativ. Variabilele sunt definite în două moduri : fie se face un studiu statistic pe o perioadă semnificativă trecută; fie sunt organizateexpetimente pentru elaborarea unui sistem.
4.
formularea unor legi cantitative pe baza analizei datelor obţinute ce sunt în conformitate cu late măsurători şi corectate în mod iterativ.
5.
adoptarea unor decizii de acţiune asupra naturii cu scopul satisfacerii directe sau indirecte a nevoilor umane.
6.
urmărirea efectelor deciziilor adoptate şi perfecţionarea modului de a lua decizii,
Construirea modelului procedural este dependent de modul în care se formulează problema şi de informaţiile obţinute în raport cu datele statistice sau cele experimentaledeoarece acestea intervin în funcţiile ce descriu o anumită legitate sau restricţie. Pentru construirea modelului se folosesc diversi algoritmi, cărora modelarea procedurală în acordă un prim rol, iar modelului un rol secundar. Strategiile de modelare utilizate : !"modelarea generală atunci când se urmăreste surprinderea tuturor cazurilor posibile; !"modelarea pe clase de probleme atunci căn se aleg din practică probleme pentru cere se elaborează un algoritm specific. Algoritmi de modelare utilizaţi: algoritmi exacti în cazul în care între metodele de modelare şi natura marimilor care !" caracterizează procesul analizat există o legătură foarte strânsă, iar aplicarea metodei este influenţată de exactitatea măsurării mărimilor utilizate. -45-
Problematica modelării sistemelor de producţie
algoritmi euristici în cazul în care datele existente sunt exacte însă problema este !" complexă, de dimensiuni mari şi datele de intrare sunt de natură stochastică sau vagă. Reguli de rezolvare a problemei utilizaţi: reguli elementare ( independente) sunt create cu ajutorul unor operatori independenţi !" ce au drept scop individual obţinerea calitaţii soluţiei ( abateri minime de la soluţia practică) cu folosirea unor resurse de calcul în limitele disponibile ( de timp ,memorie etc). reguli compuse ( dependente de regulile elementare) numite şi reguli trunchiate sau !" amendate ce se obţin prin combinarea regulilor elementare şi sunt de forma : Fj (f i1 , f i 2 , f i3 ,....f ip ) , unde Fj reprezintă un operator de compunere ( poate fi o funcţie analitică sau procedurală ). fi1,fi3,…fip o mulţime de reguli elemetare. Exemplu: O regulă compusă se poate construi prin compunerea regulilor f şi f ( regulă aritmetică obţinută prin negarea regulei f) cu ajutorul unui operator determinist : αf + (1 − α)f
0 ≤α ≤1
unde
Numărul de reguli compuse poate fi infinit. Pentru fiecare regulă independentă fI se poate ataşa un grad de aparenţă µ i la proprietatea aplicată. Analog fiecarei reguli compuse Fj (f i1 , f i 2 , f i3 ,....f ip ) îi ataşăm un grad de aparenţă χ ji ji .... ji . 1
2
p
Numim euristica o mulţime vagă de reguli elementare ( independente) de forma: f1,f2 ,...fn ..,Fj (fi1 ,fi2 ,...,fip )... E= µ1, µ 2 ,...µn ,.., χij1i2 ,......ip .......
De aici rezultă că : fi ∈ E , adică regula aparţine într-un grad egal cu µi euristicii E . µ i
Astfel putem spune că euristica E reprezintă o mulţime deschisă de reguli pentru a rezolva o anumită problemă. Majoritatea algoritmilor euristici ( tip greedy) se se bazează pe ideea că în fiecare etapă de calcul trebiue respectate restricţii impuse, iar funcţia obiectiv să atingă punctele cel mai de maxim sau cel mai de minim . Modelele euristice mai pot fi folosite pentru descoperirea unor posibilităţi de acţiune , care n-au fost prevăzute anterior. De multe ori în acest fel se relevă soluţii, a căror superioritate este atât de evidentă, încât nici nu mai este necesar să fie demonstrată.
-46-
Modelarea şi Simularea Sistemelor de Producţie
CAPITOLUL 3 PROBLEMATICA SIMULĂRII Simularea este o tehnica de realizare a experienţelor cu calculatorul electronic care implică utilizarea unor modele matematice şi logice care descriu comportarea unui sistem real de-a lungul unei perioade mari de timp. Datorită apariţiei şi perfecţionării calculatoarelor electronice, simularea este astăzi foarte mult utilizată în cercetarea ştiinţifică şi proiectare. Prin simulare, se poate înţelege “a pretinde să ajungi la esenţă fără realitate”. Desigur simularea presupune, un mare număr de calcule bazat pe modele matematice deloc simple, de aici rezultând şi oportunitatea utilizării calculatoarelor electronice. Simularea este o tehnică de rezolvare a problemelor bazată pe reprezentarea într-un mod sau altul a acestora. Orice reprezentare este în esenţă o formă de simulare şi implică o reducere oarecare sau o schimbare a realităţii. 3.1. PROCESUL DE SIMULARE. CARACTERISTICILE SIMULĂRII Procesul de simulare Câteva din motivele utilizării tehnicii de simulare în general în practica industrială sunt: : •
lipsa unei formulări matematice (fenomene neformalizate) concise şi complete a problemei sau întâmpinarea unor mari dificultăţi în rezolvare dacă modelul există;
•
simularea poate fi singura cale posibilă de experimentare, atunci când experimentarea sistemului real este imposibilă (datorită costului prea ridicat);
•
simularea permite un control complet în timp al procesului supus analizei, permiţând derularea fenomenelor, ceea ce conduce la concluzii care altfel n-ar putea fi cunoscute. Acest aspect al simulării este deosebit de util în activitatea de cercetare ştiinţifică sau în evaluarea modului de comportare în exploatare a echipamentelor tehnologice.
Pentru realizarea unei simulări nu există o metodă unitară recomandată, dar orice simulare reprezintă un model al sistemului (evident trebuie avute în vedere modelele matematice). De aceea problema obţinerii unei simulări este problema realizării unui model matematic. Exemple de simulări : o modele de simulare a sistemelor urbane; o modele ale strategiilor corporaţiilor; o modele de simulare a resurselor de apă; o simularea modelelor de stocare; o simularea modelelor de aşteptare; o modelele grafelor probabilistice; o modele econometrice pentru a prognoză; o modele globale pentru energie; o modele de amplasare; o modele financiare (pe termen scurt şi lung) etc. -47-
Problematica simulării
O definiţie formală a simulării este dată de Churchman: Se spune că sistemul X simulează sistemul Y dacă şi numai dacă: 1. X şi Y sunt sisteme formale; 2. Y este luat drept un sistem real; 3. X este considerat o aproximare a sistemului real; 4. regulile de validitate din X sunt fără erori. Utilizarea acestei definiţii are dezavantajul dezvoltării unei teorii abstracte, deoarece cercetătorii din domeniul matematicilor aplicate concep simularea ca pe o tehnică de constituire a unui model pentru un proces sau fenomen real, care se studiază cu calculatorul iar rezultatele sunt folosite pentru a lua decizii fundamentate ştiinţific. Modelul folosit în procesul simulării numit model de simulare are aici un sens mai larg deoarece el prezintă atât realitatea (procesul, fenomenul) cât şi modul de transformare a datelor de intrare în date explorabile în vederea atingerii unui scop propus. Prin procesul de simulare, în loc să căutăm soluţia optimă prin algoritmi ca în abordările modelării analitice, se încercă să se obţină informaţii descriptive privind fenomenul analizat prin experimentare. Deşi rezultatele obţinute prin simulare au întotdeauna forma unor variante descriptive, uneori este posibil, ca să introducem o regulă de căutare în modelul de simulare, astfel încât rezultatele descriptive să poată fi evaluate în aşa fel încât să se poată identifica soluţia optimă. O versiune simplificată a procesului de simulare este ilustrată în figura 3.1, unde modelul de simulare este reprezentat ca o cutie neagră.
Figura 3.1 Procesul de simulare urmăreşte generarea de date de intrare pentru a fi introduse în model, iar modelul le va utiliza în aşa fel încât să obţinem ieşiri care să poată fi utilizate în măsurarea sau evaluarea performanţei (criteriu de eficienţă) variabilelor. În scopul proiectării unui model de simulare, trebuie să identificăm în sistemul supus cercetării cu atenţie cele mai importante variabile ale sale şi criteriile de performanţă (eficienţă). Caracteristicile simulării Modelele de simulare nu sunt un tip strict de model, deoarece acestea fac mai puţine simplificări ale realităţii decât în modele clasice. Simularea este o tehnică utilizată în special pentru experimentele de conducere. De aceea, simularea încearcă testarea valorilor specifice ale variabilelor decizionale din model şi observarea impactului asupra variabilelor de ieşire. Simularea este utilizată de obicei acolo unde problema de investigat este destul de complexă pentru a fi tratată cu ajutorul modelelor analitice sau cu tehnicile numerice de optimizare, cum ar fi de exemplu programarea liniară. În cazul de faţă, prin complexitate se înţelege că problema sau nu poate fi formulată matematic (deoarece nu se pot face ipoteze) sau formularea nu implică o soluţie practică sau economică.
-48-
Modelarea şi Simularea Sistemelor de Producţie
Modelul de simulare este un instrument necesar pentru studiul sistemelor complexe unde modelele clasice nu sunt în măsura să surprindă toate situaţiile în vederea formulării deciziei. Aplicaţiile simulării sunt numeroase acoperind o arie vastă cum ar fi: !"Simularea sistemelor sociale - va permite cunoaşterea comportării unei categorii de oameni în anumite condiţii date. !"Simularea sistemelor de apărare - se poate studia care este evoluţia unui conflict armat în diverse condiţii (trupe şi materiale). !"Simularea sistemelor economice - considerând anumite relaţii economice se poate urmări de exemplu care este efectul variaţiei unei anumite rate de interes peste o perioadă de timp. !"Simulare sistemelor biologice - de exemplu cu ajutorul unui model de simulare se poate studia ce populaţie de bacterii va supravieţui în interacţiune cu alte categorii. !"Simularea sistemelor de producţie - se poate studia care este efectul creşterii producţiei în condiţiile cererii şi ofertei obţinându-se o optimalitate a producţiei. Avantajul tehnicii de simulare constă, în aceea că foloseşte sistemul cibernetic de reglare, care stă la baza deciziei concrete din practică. Un sistem de simulare cuprinde: modelul, operatorul simulării, datele de intrare, datele de ieşire, care la rândul lor, sunt reprezentate de variabile şi parametri. Variabilele de intrare pot fi deterministe sau stohastice, fiind determinate după un anumit procedeu sau se generează aleatoriu, în funcţie de anumiţi parametri de intrare. Parametrii de intrare se caracterizează prin aceea ca iau valori neschimbate pe tot timpul procesului de simulare. Variabilele de ieşire depind de variabilele si de parametrii de intrare, dependenta fiind generată de structura logica a modelului de simulare considerat. O valoare a unei variabile de ieşire este rezultatul executării unui pas al programului de calcul ataşat modelului. Dependenţa logică a variabilelor de ieşire de variabilele de intrare, precum şi operaţiile aritmetice necesare se ilustrează prin schema logică a modelului de simulare. După cum s-a arătat mai sus simularea se utilizează adesea atunci când experimentarea pe sistemul real sau rezolvarea analitica nu sunt posibile sau nu au eficienţă. Principalele avantajele ale metodelor de simulare sunt: se pot studia sisteme care altfel nu se pot rezolva; #" pe modelele de simulare condiţiile unui experiment se pot controla mai bine decât în realitate; #" conceptul timp este condensat în cazul simulării, câştigând în câteva minute o experienţă care altfel ar fi durat ani; #" un experiment cu un model de simulare este în general mai ieftin decât o experimentare pe sistemul real; #"
-49-
Problematica simulării
un experiment cu un model de simulare nu bruiază sistemul real; #" modelele de simulare dau o imagine mai concludentă decât modelele matematice; #" în timpul simulării se pot schimba cu uşurinţă unii parametri, spre deosebire de experimentarea pe sistemul real, noile aspecte apărute putând a fi luate rapid în considerare. #"
Modelele de simulare prezintă şi o serie de dezavantaje cum ar fi: • • • • • •
prin definiţie un model de simulare este mai simplu decât realitatea pe care o reprezintă, şi de aici pericolul de a neglija unele aspecte esenţiale; prin simulare nu se pot oferi soluţii precise acolo unde ele sunt absolut necesare, în acest caz metodele analitice fiind preferate; studiul unui model de simulare consuma timp (un proiect fundamentat putând să dureze de la o zi la un an); când se începe studiul unui model de simulare nu se ştie precis daca simularea va produce rezultate spectaculoase; rezultatele obţinute prin simulare sunt greu de demonstrat, iar metodele de testare ale unui model sunt relativ complexe; simularea nu poate da un rezultat optim sau nu prezintă garanţia unei soluţii optime, aceasta datorându-se faptului că metoda simulării este o metoda euristică.
Pe lângă avantajele şi dezavantajele simulării, trebuie să ne amintim bine proverbul: Când tot altceva nu-ţi reuşeşte, simulează. Aceasta arată că simularea trebuie utilizată numai dacă alte tehnici disponibile nu pot să rezolve problema. Trebuie de asemenea să arătăm că scopul simulării este să dirijeze sistematic experimentele spre un sistem real. Deci, rezultatele obţinute prin simulare trebuie să fie complementare unei soluţii analitice, indiferent dacă există sau nu o soluţie analitică. Conceptele cu care operează simularea Înţelegerea facilă a instrumentelor oferite de simulare pentru studiul comportării sistemelor economice impune familiarizarea analistului de sistem cu o serie de concepte întâlnite şi la alte discipline, dar care în acest caz au o semnificaţie particulară ce stă la baza comportării fenomenelor şi proceselor economice studiate prin simulare. Componentă: unitate identificabilă ce poate fi complet definită, interconectabilă cu una sau mai multe unităţi ale sistemului. La un moment dat, componenta se caracterizează printr-o stare. Evoluţia componentei poate fi descrisă prin schimbarea stărilor proprii. Componentă cu iniţiativă: acea componentă care poate memora şi clasifica informaţiile primite de la mediul înconjurător, luând decizii în conformitate cu anumite obiective. Legătura: interacţiunea dintre două componente sau dintre o componentă şi mediul înconjurător. În primul caz, evoluţia unei componente depinde de stările celeilalte componente. În al doilea caz, noţiunea de legătură poate fi privită în două moduri: a) legătură de intrare: legătură între mediul înconjurător şi cel puţin o componentă susceptibilă de a genera cel puţin un eveniment în sistem. b) legătura de ieşire: legătura prin care cel puţin o componentă a sistemului afectează mediul extern al sistemului. -50-
Modelarea şi Simularea Sistemelor de Producţie
Sistem: mulţime de componente în interacţiune, cuprinzând operatori umani, echipamente tehnologice integrate în scopul realizării unui obiectiv prin manipularea, controlul şi conducerea entităţilor proprii. Entitate: element de abstractizare a realităţii. Un sistem este alcătuit dintr-o reuniune de entităţi, fiecare fiind caracterizată prin atributele care o descriu şi o definesc funcţional în cadrul sistemului. Atribut: elementul sau elementele ce descriu şi caracterizează entitatea. Subsistem: mulţime nevidă de componente, interdependente printr-o mulţime de legături, astfel încât mulţimea acestor componente să evolueze pentru realizarea unor obiective comune cu alte mulţimi de componente. Sistem (subsistem) echivalent (analog): se obţine prin eliminarea din sistemul original a componentelor la care probabilitatea de apariţie a unui eveniment este foarte redusă sau la care variaţia stărilor la apariţia evenimentelor este neglijabilă, precum şi prin eliminarea legăturilor cu probabilitatea de apariţie foarte redusă sau care generează evenimente cu o probabilitate redusă. Aceasta înseamnă că sistemul echivalent păstrează din sistemul original numai laturile esenţiale pentru realizarea unui anumit studiu, eliminând tot ce este nesemnificativ. Sistemul echivalent (analog) se poate construi şi prin reunirea mai multor componente de natură diferită faţă de componentele sistemului original, dar având aceleaşi legături semnificative ca şi în sistemul original. Proiectarea sistemului: descriere a componentelor şi a legăturilor în vederea reconstituirii şi/sau modificării unui sistem, astfel ca acesta să evolueze în vederea realizării unor obiective date, respectând restricţiile impuse. Stare: reuniunea tuturor atributelor asociate unei entităţi (componente) definesc starea acesteia. Stările entităţilor principale (sau dominante) descriu starea sistemului propriu-zis. În studiul unui fenomen (sau fenomene) ce are loc într-un sistem, obiectivul principal constă în înţelegerea modului în care apar schimbări de stare, posibilitatea de predicţie a schimbării stărilor şi controlul apariţiei lor. Combinaţia acelor obiective se întâlneşte uneori sub denumirea de evaluarea alternativelor. Evaluarea alternativelor: reprezintă studiul relaţiilor existente între sistem şi mediul înconjurător, relaţie ce generează schimbările de stare ale sistemului. Analiza modului în care sistemul afectează mediul extern este necesară măsurării schimbărilor de stare şi a efectelor asupra evoluţiei viitoare a sistemului. În general există trei metode de evaluare a alternativelor: o se determină legătura de intrare şi reprezentarea sistemului după care se măsoară legătura de ieşire; o se definesc legăturile de intrare şi ieşire după care se determină prin analiză şi sinteză structura sistemului ce trebuie să răspundă obiectivelor fixate; o se consideră sistemul cunoscut şi se introduc intrările care produc ieşirile dorite. Mărime: convertirea numerică a stărilor şi/sau a legăturilor şi/sau a obiectivelor unui sistem (dacă există). Mărime de intrare: mărime asociată unei legături de intrare, care poate fi modificată printro legătură de ieşire şi/sau prin rezultatul acţiunii unui operator uman exterior sistemului. Este deci o mărime care poate fi comandată. Mărime perturbatorie: mărime asociată unei legături de intrare, ce nu poate fi comandată. Mărime de ieşire: mărime asociată unei legături de ieşire. Eveniment: schimbarea de stare a unei entităţi (componente). Proces: o secvenţă de evenimente ordonate în timp. Activitate: o reuniune de operaţii ce transformă starea unei componente. Performanţe: reprezintă o secvenţă de stări prin care sistemul trece într-un interval de -51-
Problematica simulării
timp considerat, oferind informaţii privind funcţionarea sa. Conceptul de performanţe şi modul de evaluare a lor sunt dependente de natura sistemului considerat. Obiectivul ideal al simulării este îmbunătăţirea performanţelor sistemului simulat (existent sau în curs de proiectare). Operaţia de îmbunătăţire implică în general investigarea şi controlul unor aspecte ale sistemului, astfel ca în final să se atingă performanţele maxime posibile. Deoarece în general anumite aspecte depăşesc posibilităţile de control ale analistului este necesară introducerea unor restricţii de diverse forme în funcţie de tipul sistemului. Simulator: sistem echivalent (analog) care generează o istorie asemănătoare cu istoria sistemului studiat. Model: descrierea abstractă a unui simulator. Modelul aproximează realitatea obiectivă astfel că oricât de laborios ar fi conceput, este totuşi incomplet. Abaterile modelului faţă de realitate depind de stadiul cunoaşterii sistemului. Un model a cărui evoluţie corespunde destul de precis cu fenomenul real şi care se obţine din acesta, prin neglijarea unor factori ce au influenţă mică asupra evoluţiei sistemului real, constituie un model idealizat al fenomenului real. Modelare: tehnică de definire cu ajutorul matematicii sau a altor metode, a sistemului sau a unei părţi din sistem ori reprezentarea sistemului real printr-un sistem de altă natură mai uşor de studiat şi manipulat. Simulare: studiul unui sistem (subsistem) utilizând modele şi/sau simulatoare. 3.2. TEHNICI DE SIMULARE Tehnicile de simulare pot fi clasificate după mai multe criterii: a. După natura echipamentului utilizat avem simulare analogică, simulare numerică şi simulare hibridă. Simularea analogică este o tehnică de simulare care foloseşte sisteme (dispozitive) ale căror legi de conduită sunt aceleaşi cu legile de conduită ale sistemului studiat. Pentru simularea proceselor economice este util de a se identifica analogiile dintre comportarea unor sisteme economice şi cea a unor sisteme aparţinând altor ştiinţe sau discipline. Ca exemple: analogia dintre un sistem de aprovizionare al unei întreprinderi şi un sistem cu intrări şi ieşiri hidraulice, analogia dintre sistemul informatic economic şi sistemul nervos al unui organism biologic etc. Simularea electronică analogică se utilizează în studiul sistemelor a căror evoluţie se poate descrie prin ecuaţii diferenţiale (ca de exemplu în studiul sistemelor de reglare automată continue).Acest tip de simulare prezintă o serie de avantaje: viteza ridicată de obţinere a rezultatelor, posibilităţi mari şi comode de urmărire a fenomenelor tranzitorii (care se pot urmări direct, fie prin afişare, fie prin înregistrare), posibilităţi de adaptare la un număr mai mare de probleme economice prin interconectarea elementelor componente, tinzând chiar spre un simulator analogic aproape universal. Simularea numerică denumită şi digitală sau matematică constă în analiza şi studiul sistemelor economice utilizând analogiile de calcul. Simularea numerică se clasifică în: simulare de tip joc şi simulare prin metoda Monte Carlo. Se poate efectua manual (pentru probleme de dimensiuni foarte reduse şi care admit abateri mari), cu ajutorul calculatoarelor de birou (pentru modele reduse şi precizie redusă), sau cu ajutorul calculatoarelor electronice (pentru modelele economice de dimensiuni mai mari sau chiar pentru modele de dimensiuni mici, dar care necesită precizie mare). Simularea electronică numerică prezintă avantajul preciziei şi vitezei ridicate, precum şi cel al universalităţii. Precizia rezultatelor este invers proporţională cu rădăcina pătrată a numărului de cicluri de simulare. Dezavantajele metodei constau în faptul că necesită un -52-
Modelarea şi Simularea Sistemelor de Producţie
volum mare de muncă pentru programarea algoritmilor de simulare şi un cost relativ mare pentru problemele economice în care intervin relaţii dinamice. Simularea de tip joc constă în ataşarea la un sistem economic a unui model astfel conceput încât să descrie dependenţele logice dintre variabile şi parametrii acestui sistem. Variabilele se schimbă chiar în cadrul aceluiaşi ciclu de simulare. Parametrii rămân constanţi la acelaşi ciclu de simulare Metoda Monte Carlo asociază problemei reale un model probabilist şi prin generarea unor variabile aleatoare legate funcţional de soluţie se realizează experienţe pe model, furnizându-se informaţii asupra soluţiei problemei deterministe. Metoda este larg utilizată în domenii ca: cercetarea operaţională (studiul proceselor de servire, gestiunea stocurilor, metoda PERT, jocuri operaţionale etc.); calculul numeric (rezolvarea integralelor multiple, calculul ariilor cu contur neregulat, inversarea matricelor, rezolvarea ecuaţiilor diferenţiale, etc.); macroeconomie (jocuri de conducere, dezvoltarea economico-socială în profit zonal şi/sau naţional etc.); microeconomie (procese de muncă, repartiţia optimă a utilajelor, procese uzinale etc.); alte domenii (biologie, chimie, mecanica fluidelor, fizica nucleară, fenomene naturale etc.). Simularea hibridă denumită şi analog digitală constă în conectarea unui simulator analogic sau alte ansamble funcţionale tipice simulării analogice şi un calculator numeric. Un calculator hibrid modern este un sistem numeric de bază care utilizează o unitate centrală rapidă ce controlează în paralel un procesor analogic. Sistemul hibrid este un sistem care lucrează în timp real. Simularea hibridă oferă o serie de facilităţi în proiectarea, verificarea, optimizarea anticipării comportării reale ale sistemelor, precum şi la elaborarea programului de comandă şi control al acestora. b. După natura algoritmilor utilizaţi simularea poate fi deterministă, întâmplătoare şi deterministă cu perturbaţii întâmplătoare (aleatoare). Simularea deterministă (dirijată) este un procedeu de simulare în care atât variabilele (în cadrul fiecărui ciclu de simulare) cât şi parametrii (de la un ciclu de simulare la altul) capătă valori deterministe, fie date, fie rezultate dintr-un algoritm care furnizează rezultatele predeterminate. Simularea aleatoare(Monte Carlo) este un procedeu de simulare în care cel puţin o variabilă sau un parametru capătă valori întâmplătoare. Simularea deterministă cu perturbaţii întâmplătoare include pe lângă variabile deterministe şi mărimi întâmplătoare care nu sunt în măsură să schimbe evoluţia generală a funcţionării sistemului, dar conferă un grad mai mare de realism soluţiilor modelului de simulare. c. După raportul de simulare (raportul dintre timpul real şi timpul simulării) avem: simulare în timp real şi simulare în pseudotimp. Simularea în timp real este un procedeu în care raportul de simulare este echiunitar. Există, în unele cazuri, posibilitatea ca timpul de simulare să fie egal cu timpul în care fenomenele simulate se petrec în sistem real. Simularea în pseudotimp constă în folosirea unui raport de simulare diferit de unu. Timpul de funcţionare al simulatorului este în majoritatea cazurilor mai rapid sau mai încet decât timpul real de funcţionare. În aplicaţiile simulării în economie, timpul simulării este mai rapid decât timpul real (raportul de simulare este mult mai mare decât unu). De exemplu dacă operaţiile de inventariere din cadrul unei întreprinderi au loc într-un interval de timp de 150 de zile acestea pot fi simulate în 10 minute timp calculator.
-53-
Problematica simulării
d. După momentul efectuării simulării avem: antesimularea şi postsimularea. Antesimularea reprezintă experimentul de simulare ce se efectuează înainte de a avea loc funcţionarea reală a sistemului modelat. În general această tehnică este folosită la proiectarea sistemelor economice şi în efectuarea de prognoze economice. Postsimularea se foloseşte pentru dobândirea unei experienţe în conducerea unor fenomene şi procese din sisteme economice care funcţionează în practică. Experienţa dobândită poate conduce uneori la perfecţionarea sistemului economic existent. 3.3.
STUDIUL SIMULĂRII
Analiza sistemului presupune descompunerea în părţi componente a acestuia pentru a putea fi analizat, în vederea înţelegerii naturii lui şi a trăsăturilor sale esenţiale. Un model de simulare poate fi proiectat pentru a obţine informaţii despre comportamentul unui sistem existent sau pentru a permite proiectarea unui nou sistem. Intr-o problema de simulare se pot distinge următorii paşi: •
Formularea problemei
Primul pas al procesului de simulare constă în identificarea şi formularea problemei sau scopului studiului în care trebuie să se specifice cu claritate obiectivele, în caz contrar procesul de simulare nu se poate desfăşura. În acest scop trebuie luate în considerare următoarele elemente: 1) Determinarea variabilelor de decizie şi a variabilelor de stare. Variabilele de stare sunt dependente de cele de decizie şi descriu starea în orice moment a unui element, componentă etc., ele neputând fi controlate direct de analist. 2) Identificarea unui model optimal de evoluţie ce implică atât analiza cât şi sinteza, şi constă în dezvoltarea unui model conceptual care să fie suficient de analog cu cel real. 3) Identificarea unei performanţe a sistemului. Măsurarea performanţelor se realizează prin intermediul unor funcţii obiectiv. În concluzie se stabilesc obiectivele urmărite, ipotezele de lucru, criteriile de acceptare sau respingere, precizarea statistică a estimaţiilor obţinute prin simulare. De asemenea se prezintă descrierea unor soluţii posibile. •
Luarea deciziei de apelare la tehnicile de simulare
Pe baza rezultatelor obţinute în etapa precedentă se poate stabili dacă se recurge sau nu la tehnicile de simulare. •
Formularea modelului de simulare
În această etapă are loc o reprezentare a realităţii în model. Se aleg variabilele, parametrii, relaţiile funcţionale şi algoritmul care conduce la determinarea elementelor de ieşire în funcţie de elementele de intrare. La formularea modelului trebuie să se ţină cont de următoarele aspecte: $"modelul simplu se realizează relativ uşor; $"modelul simplu face mai uşoara descoperirea unor alternative; -54-
Modelarea şi Simularea Sistemelor de Producţie
$"modelul complex poate da rezultate corecte, dar este posibil ca utilizatorul să nu fie capabil să le exploateze (un rezultat care nu este înţeles nu are valoare); $"verificarea şi validarea unui model complex este extrem de dificilă; $"încercând o reprezentare a realităţii în model, se poate consuma un timp destul de mare pentru culegerea unor informaţii care nu sunt uneori necesare pentru rezolvarea problemei. •
Culegerea si prelucrarea preliminară a datelor reale Pe baza acestora sunt sugerate ipotezele în formularea modelelor matematice.
•
Estimarea parametrilor caracteristicilor operative Se realizează prin procedee din statistica matematica pe baza datelor reale culese.
•
Evaluarea performanţelor modelului şi a parametrilor Se realizează prin teste de concordanţă.
•
Construirea algoritmului simularii
Se realizează fie prin schema logica detaliata, fie prin schema bloc în funcţie de mărimea modelului. •
Validarea sistemului de simulare
Se realizează fie prin testarea programului pentru o soluţie particulară cunoscută, fie prin compararea valorilor variabilelor de ieşire cu rezultatele obţinute prin observarea situaţiilor reale similare. •
Analiza datelor simulate Consta în interpretarea rezultatelor obţinute.
•
Prezentarea rezultatelor
Prezentarea concluziilor trebuie să se facă astfel încât principalele rezultate ale studiului să fie uşor de înţeles. Acest lucru se poate realiza folosind fie prezentarea orală, fie animaţia , fie raportul. Simularea unui sistem economic presupune, definirea evenimentelor care intervin în evoluţia procesului economic analizat precum şi specificarea condiţionărilor (legăturilor) dintre evenimente. Prin eveniment, se înţelege modificarea cel puţin a unui parametru prin care se descrie starea uneia sau mai multor componente ale sistemului economic. Istoria stării sistemului este formată dintr-o succesiune finită de evenimente. O istorie a stărilor reprezintă o succesiune cronologică a parametrilor de stare şi a tuturor componentelor sistemului economic.
-55-
Problematica simulării
Esenţa simulării constă, în posibilitatea de a "mişca" sistemul dat, în timp, prin intermediul modelului de simulare experimentat pe calculatorul electronic; se produc astfel succesiv diferite evenimente care reprezintă schimbările care au loc în timp în sistem. 3.4.
SIMULAREA NUMERICĂ (GENERARE DE NUMERE ALEATOARE)
Pentru a reproduce în mod realist anumite elemente ale sistemului simulat, precum şi pentru rezolvarea unor probleme numerice apare necesitatea existenţei unor numere ,,alese aleator". Un număr este „aleator" numai dacă se află într-un context statistic. Datorită numeroaselor evenimente perturbatoare care apar în desfăşurarea proceselor de producţie (acestea din urma fiind de multe ori procese stohastice) este necesar să se elaboreze metode care să asigure generarea numerelor aleatoare care să respecte legea empirică a sistemului de producţie. Generarea numerelor aleatoare uniform repartizate ca cel mai simplu fenomen îl reprezintă apariţia unui eveniment, dintr-o mulţime de evenimente posibile echiprobabile. Astfel din punctul de vedere al calculului numeric numerele aleatoare satisfac următoarele condiţii: • sunt repartizate uniform intr-un interval astfel: 0, x ≤ 0 F ( x) = x, x ∈ (0,1) 1, x ≥ 1 • sunt statistic independente; • sunt reproductibile (pentru a testa programe sau a efectua comparaţii); • funcţia de repartiţie este stabilă, adică nu se schimbă în cursul rulării programului de simulare; • şirul generat are o perioada de repetiţie mare care poate fi predeterminată (cel puţin ca o limită inferioara). Generarea numerelor aleatoare se poate face prin mai multe metode: !"Metode manuale care folosesc diferite dispozitive ca: zaruri, urne cu bile, rulete. !"Metode fizice, care se bazează pe analogii dintre unele procese fizice intrinsec aleatoare (procese radioactive, procese electronice), dar prezintă dezavantajul că nu sunt reproductibile. !"Metode de memorizare a numerelor aleatoare, care folosesc de regula memoria interna sau externă a calculatoarelor, prezentând avantajul reproductibilităţii, însă durata accesului la astfel de informaţii este relativ mare. !"Metode care constau în consultarea specialiştilor, care prezintă dezavantajul subiectivismului celor consultaţi şi care sunt folosite mai mult în scop didactic. !"Metode analitice, care constau în utilizarea unor algoritmi de calcul, care se bazează pe una sau mai multe relaţii de recurenţă, fiind cele mai răspândite în aplicaţiile numerice. Schema unei astfel de metode este următoarea: - Se da un şir de n numere: u1, u2, , un. - Un număr curent generat este: Uk = fk-n(U k-n, U k - n -1,---, U k-l) unde fk-n reprezintă o funcţie de n variabile; -56-
Modelarea şi Simularea Sistemelor de Producţie
-
Generările se opresc atunci când k=N, (N-n) reprezintă numărul de termeni necesari (numărul de cicluri de simulare) în programul de simulare.
Cel mai reprezentativ algoritm analitic de generare a numerelor aleatoare este: Metoda congruenţială aditivă Se dau x 1 , x 2 , . . . , xn numere iniţiale şi un număr prim m. Numerele aleatoare generate folosesc clasele de resturi modulo m, adică: x1 = (x10 + x20 +...+ xn0) mod m x2 = (x20 + x30 +...+ xn0 + x1 ) mod m …………………………… xk+1 = (xk-n+1 + xk-n+2 ..+x k - 1 + xk) mod m Pentru a genera numere în intervalul (0,1) se efectuează transformarea de variabilă: x yi = i , xi ∈ (0, m) m În general această metoda nu dă rezultate satisfăcătoare. 3.5.
METODA DE SIMULARE MONTE CARLO
Bazele teoretice ale metodei au fost puse în anul 1949 de Metropolis şi Ulam, dar ideea acestor metode a apărut încă din 1777 când Buffon a formulat celebra problemă a calculului probabilităţii de intersecţie a unui ac aruncat la întâmplare, pe o suprafaţă plană pe care sunt trasate drepte paralele echidistante. Această idee în 1860 datorită lui Barbier a permis calculul numărului π prin aruncări succesive ale unui ac de lungime l, pe o suprafaţă plană cu drepte paralele la echidistanta a. Fermi, Metropolis şi Ulam foloseau pentru aplicarea metodei, listele de numere întâmplătoare care se publicau la Monte - Carlo. De aici a rezultat cea mai răspândită denumire a metodei. În SUA metoda a mai fost cunoscută şi sub denumirea de "metoda Las Vegas". În literatura de specialitate se întâlnesc următoarele denumiri echivalente: metoda încercărilor echivalente; metoda experimentărilor statistice; simularea numerică; metoda simulării indirecte; metoda numerelor aleatoare. Obiectivul este de a calcula b ∫ F( x )dx (unde x poate fi un vector), a estimând expresia b ∫ [F( x ) / p( x )]p( x )dx a unde p(x) este funcţia de densitate a variabilei aleatoare definită pe [a,b]. În acest caz, problema iniţială este transformată în aceea privind estimarea mediei lui F(x)/p(x). Aceasta se poate rezolva generând valori aleatoare pentru p(x) şi apoi calculând media lui F(x)/p(x). Metoda de simulare Monte Carlo se număra printre cele mai simple tehnici de simulare. -57-
Problematica simulării
Pentru un proces de producţie ce se doreşte a fi studiat pe baza unui model de simulare, prin aplicarea metodei Monte Carlo sunt necesare următoarele elemente: • Variabile de intrare, domeniile de variaţie a acestora şi funcţiile de repartiţie; • Parametrii de stare ai procesului si domeniile în care aceştia pot lua valori; • Variabilele de stare ale procesului, domeniile de variaţie a acestora şi funcţiile de repartiţie; • Variabilele de ieşire şi relaţiile ce definesc valorile variabilelor de intrare, ale parametrilor şi variabilelor de stare. Metoda Monte Carlo constă în principal în generarea unor valori aleatoare, cu funcţiile corespunzătoare, pentru variabilele de intrare şi respectiv pentru variabilele de stare ale procesului, apoi în calculul valorilor unora sau mai multor variabile de ieşire ale procesului, ţinând seama de parametrii de stare. Pentru o anumită mulţime a valorilor parametrilor de stare (o anumită stare a procesului), se repetă operaţiile de generare a valorilor aleatoare si de calcul al variabilelor de ieşire de atâtea ori de câte este necesar pentru a obţine informaţii care să descrie cât mai precis funcţiile de repartiţie ale variabilelor de ieşire. Efectuând operaţiile de mai sus pentru diverse stări ale procesului şi comparând funcţiile de repartiţie ale valorilor variabilelor de ieşire obţinute prin calcul, se pot trage concluzii asupra optimalităţii uneia sau alteia dintre stările procesului şi se pot defini acţiuni corespunzătoare referitoare la modificarea valorilor parametrilor de stare ai acestora. De obicei pentru aprecierea optimalităţii nu este suficientă compararea valorilor variabilelor de ieşire ale procesului ci se procedează la compararea valorilor unor indicatori tehnico-economici calculaţi în funcţie de variabilele si parametrii procesului respectiv. Pentru stabilirea numărului de simulări se calculează media valorilor obţinute pentru indicatorul tehnico-economic urmărit iar simulările se repetă până când media respectivă nu mai diferă semnificativ de la o simulare la alta. Exemplul 3.1 O firmă vinde un anumit produs, cererea fiind aleatoare. Datele statistice, pe durata ultimelor 200 zile, a cererii produsului sunt date în tabelul 3.1: Să se stabilească, prin simulare, cererea pe următoarele 10 zile. Fiecare din etape se va realiza astfel: Tabelul 3.1 Cerere (unităţi) Frecvenţa absolută (zile)
0
1
2
3
4
5
12 24 36 60 36 28
6
7
4
0
1. Variabilele aleatoare care intervin în problemele ce vor fi simulate sunt discrete, dar pot fi şi de tip continuu. Exemple de variabilele aleatoare: cererea şi timpul de livrare în teoria stocurilor, sosirile sau timpul dintre sosiri şi timpul de servire în teoria firelor de aşteptare; timpul dintre două defecţiuni succesive ale unei maşini; numărul persoanelor angajate absente de la serviciu în fiecare zi; timpul de efectuare a unei activităţi dintr-un proiect. Distribuţia de probabilitate a unei variabile aleatoare se stabileşte din date statistice, poate fi estimată pe baza experienţei şi a raţionamentului, ori se stabileşte pe baza unor eşantioane; se pot utiliza şi repartiţii de tip continuu (normală, hi-pătrat etc) sau pentru variabile aleatoare discrete (Poisson, binomială etc). În cazul exemplului, probabilitatea, adică frecvenţa relativă se va obţine împărţind fiecare frecvenţă absolută la numărul de 200 zile (coloana 2 din tabelul 3.2.) -58-
Modelarea şi Simularea Sistemelor de Producţie
Tabelul 3.2 (1) Cerere
(2) Probabilitate
0 1 2 3 4 5 6
0,06 0,12 0,18 0,30 0,18 0,14 0,02 1,00
(3) Probabilitate cumulată 0,06 0,18 0,36 0,66 0,84 0,98 1,00
(4) Intervalul numerelor aleatoare {01, 02, …, 06} {07, 08, …, 18} {19, …, 36} {37, 38, …, 66} {67, …, 84} {85, …, 98} {99, 100}
De exemplu, cererea 0 este 12 zile din 200. Atunci 12/200 = 0,06 2. Probabilitatea cumulată este suma probabilităţilor precedente (coloana 3). De exemplu 0,18 = 0,06 + 0,12 3. Se va stabili un set de numere aleatoare, care să reprezinte fiecare valoare posibilă a variabilei aleatoare, acest set (discret) de numere, fiind numit interval de numere aleatoare. Dacă se lucrează cu numere aleatoare ce au două cifre, acestea pot oricare dintre numerele: 01, 02, …, 99, 00. Intervalele se stabilesc în funcţie de probabilităţile cumulate. În exemplu, cererea este zero cu probabilitatea 0,06; atunci vom stabili ca 6% din numerele aleatoare să corespundă la zero unităţi de cerere. Acestea pot fi {01, 02, 03, 04, 05, 06}. Nu are importanţă care sunt aceste numere, deci pot fi alte şase, de exemplu {00, 01, 02, 03, 04, 05}. Cererea simulată pentru 0 unităţi va fi creată de fiecare dată când la etapa 5 se extrage unul din numerele din interval. Analog, dacă probabilitatea ca cererea să fie o unitate este 0,12, atunci vom stabili 12 numere pentru interval, adică {07, 08, …, 18}. Dacă la etapa 5, numărul aleatoriu extras este 11, avem o cerere simulată de o unitate. Se continuă (coloana 4). 4. Pentru calcule manuale nu există nici o problemă pentru obţinerea numerelor aleatoare. De exemplu pentru a obţine numere aleatoare de două cifre, acestea pot fi selectate prin folosirea ruletei. Numerele aleatoare pot fi extrase dintr-o urnă ori se pot obţine prin alte metode printre care şi metoda pătratelor, stabilită de J. von Neumann în 1940 şi care constă în următoarele: dacă dorim să găsim numere aleatoare de 4 cifre, de exemplu 3246, îl ridicăm la pătrat 10536516, luăm numărul de 4 cifre din mijloc 5365 care este noul număr aleator şi continuăm. Dacă problema studiată este foarte extinsă, implicând mii de probe de simulare, atunci se vor folosi programe pe calculator care generează numerele aleatoare necesare. 5. Simularea rezultatelor unui experiment se efectuează prin simpla alegere a numerelor aleatoare. Dacă de exemplu, numărul aleatoriu ales este 41, observăm că el este conţinut în intervalul, adică în mulţimea {37, 38, …, 66} care corespunde cererii de 3 unităţi din produsul respectiv. Pentru simularea cererii pe următoarele 10 zile se vor alege 10 numere aleatoare, stabilindu-se pentru fiecare, intervalul în care se găseşte numărul aleator ales şi cererea simulată corespunzătoare. În tabelul 3.3 este simulată cererea pe următoarele 10 zile. -59-
Problematica simulării
Tabelul 3.3 Nr. zilei 1 2 3 4 5 6 7 8 9 10
Numărul aleator 49 63 26 65 72 84 85 63 26 02
Cererea zilnica simulată 3 3 2 3 4 4 5 3 2 0
Deci, numărul aleatoriu ales 49, intră în intervalul {37, …, 66}din tabelul precedent căruia îi corespunde cererea simulată a 3 unităţi. Cererea totală, în cele 10 zile va fi 29 de unităţi deci media zilnică a cererii simulate este 2,9. Pentru alte numere aleatoare, de exemplu 37, 77, 13, 10, 02, 18, 31, 19, 32, 85 va rezulta o medie zilnică de 2,1, iar pentru numerele aleatoare 60, 95, 89, 68, 48, 47, 17, 89, 34, 09, 93 va rezulta media 3,4. După trei testări, avem o medie de 1/3 (2,9 + 2,1 + 3,4) = 2,8. Dacă această simulare, va fi repetată de sute sau de mii de ori, se va vedea că cererea 6
medie
simulată
se
va
apropia
de
valoarea
medie
calculată
0 ⋅ 0,06 + 1 ⋅ 0,12 + 2 ⋅ 0,18 + 3 ⋅ 0,30 + 4 ⋅ 0,18 + 5 ⋅ 0,14 + 6 ⋅ 0,02 = 2,92 În efectuarea unor astfel de simulări trebuie folosit calculatorul.
∑x p i =0
i
i
adică
Exemplul 3.2 Simularea în problema stocurilor La un magazin, se invită din stoc, un anumit produs pentru care cererea este incertă. Managerul a analizat situaţia vânzărilor în ultimele 300 de zile şi a constatat următoarele (tabelul 3.4): Comenzile de reaprovizionare se emit şi se recepţionează dimineaţa, dar există o întârziere la recepţia, deci livrarea produsului, între una şi trei zile. Tabelul 3.4 Cerere (pe zi) Frecvenţa (zile)
0
1
2
3
4
5
15 45 75 90 60 15
Numărul de zile, necesar recepţiei ultimelor 50 de comenzi, a fost (tabelul 3.5.). Tabelul 3.5 Timp de livrare (zile) Frecvenţa (comenzi)
1
2
3
15
25
10
Costul de stocare este 0,75 u.m. pe unitate de produs şi pe zi, costul de lansare a unei comenzi este de 25 u.m., costul lipsei din stoc datorat pierderii vânzării este de 20 u.m. pe unitate de produs, iar stocul iniţial are 10 unităţi. Managerul doreşte să testeze, prin simulare, două politici de reaprovizionare:
-60-
Modelarea şi Simularea Sistemelor de Producţie
1) Să comande cantitatea de 10 unităţi, atunci când la sfârşitul zilei nivelul stocului este 5 sau mai mic 2) Să comande 12 unităţi când punctul de reaprovizionare este 6. Pentru a vedea care din cele două politici este mai economică, testarea se efectuează pe următoarele 10 zile. !"Obiectivul simulării este studiul eficienţei celor două politici de reaprovizionare; !"Variabilele necontrolabile sunt cererea şi timpul de livrare; ambele aleatoare. Variabilele controlabile au valori fixate pentru fiecare din cele două politici: cantitatea de reaprovizionare şi nivelul la care se emite comanda. Parametrii sunt: nivelul iniţial al stocului, costul de stocare, costul lipsei din stoc, costul de lansare al comenzii. !"Vom utiliza metoda Monte Carlo de simulare. În tabelele 3.6 şi 3.7 sunt realizate primele trei etape ale metodei Monte Carlo (determinarea distribuţiei de probabilitate, calcularea probabilităţii cumulate şi stabilirea intervalelor de numere aleatoare), pentru cele două variabile aleatoare: cererea şi timpul de livrare. Tabelul 3.6 Cerere
Probabilitate
Probabilitate cumulată
0 1 2 3 4
0,05 0,15 0,25 0,30 0,05
0,05 0,20 0,45 0,75 1,00
Timp de livrare 1 2 3
Probabilitate
Probabilitate cumulată
0,30 0, 05 0,20
0,30 0,80 1,00
Intervalul numerelor aleatoare {01, …, 05} {06, …, 20} {21, …, 45} {46, …, 75} {96, …, 99, 00}
Tabelul 3.7 Intervalul numerelor aleatoare {0, …, 30} {31, …, 80} {81, …, 99, 00}
Se va testa mai întâi prima politică: să se comande cantitatea de 10 unităţi, la nivelul de 5 unităţi, adică dacă la sfârşitul zilei stocul final are 5 unităţi ori mai puţin, se va emite comanda de reaprovizionare de 10 unităţi a doua zi dimineaţa, bineînţeles dacă nu se aşteaptă livrarea unei comenzi anterioare. Testarea se face pentru 10 zile şi rezultatele primei simulări sunt date în tabelul 3.8. Tabelul se completează pe linii, de la stânga la dreapta. În coloana 4 se trec numerele aleatoare, iar coloana 5 se completează folosind tabelul 6.5. În coloana 6, stocul final este stocul iniţial din care se scade cererea. În linia 2 coloana 6 stocul final este 3 <5, deci se lansează comanda. Numărul aleatoriu 16 îi corespunde în tabelul .. livrarea de o zi. Comanda se emite în ziua a 3-a dimineaţa şi vine în ziua a 4-a. În linia 3 coloana 6, deşi stocul final este zero (mai mic decât 5) nu se va lansa comanda deoarece se aşteaptă livrarea deja comandată. Stocul mediu final după această simulare este 3,9 unităţi pe zi, numărul mediu, pe zi al articolului lipsă din stoc este 0,1, iar numărul mediu de comenzi pe zi este 0,3. Atunci cele trei costuri medii zilnice sunt: - costul de stocare pe zi: 3,9 ⋅ 0,75 = 2,925 - costul de penurie, pe zi: 0,1 ⋅ 20 = 2 - costul comenzii, pe zi: 0,3 ⋅ 25 = 7,5
-61-
Problematica simulării
Costul total, pe zi, la această simulare este 12,425 u.m. Efectuăm testarea pentru politica a doua: să se comande 12 unităţi la nivelul de reaprovizionare 6, pentru cele două zile care urmează. Rezultatele sunt în tabelul 3.9. Tabelul 3.8 1 Ziua
2 Unităţi livrate
3 Stoc iniţial
4 Număr aleator
5 Cerere
6 Stoc final
7 Lipsă de stoc
8 Comandă
9 Număr aleator
1 2 3 4 5 6 7 8 9 10
10 10 -
10 7 3 10 9 7 4 10 6 3
52 87 72 17 31 47 98 8 54 75
3 4 3 1 2 3 5 4 3 3
7 3 0 9 7 4 0 6 3 0 39
1 1
Da Da Da 3
16 03 32 -
Total
10 Timp de livrare 1 1 2 -
costul de stocare pe zi: 4,9 ⋅ 0,75 = 3,675 costul de penurie, pe zi: 0,2 ⋅ 20 = 4 costul comenzii, pe zi: 0,3 ⋅ 25 = 7,5 Costul total, pe zi, la această simulare este 15,175 u.m. - Examinarea rezultatelor Prin compararea costului total a celor două politici se observă că prima politică este mai economică. - Luarea deciziei celei mai bune în problema simulată. -
Trebuie atrasă atenţia asupra faptului că rezultatul unei singure testări asupra celor două politici, efectuat numai pentru zece zile poate să nu fie concludent. Tabelul 3.9 Ziua
Unităţi livrate
1 2 3 4 5 6 7 8 9 10
12 12 -
Stoc iniţial 10 5 1 12 9 4 15 11 8 5 Total
Număr aleator
Cerere
Stoc final
Lipsă de stoc
Comandă
Număr aleator
98 94 49 71 99 16 94 72 51 25
5 4 3 3 5 1 4 3 3 2
5 1 0 9 4 3 11 8 5 3 49
2 2
Da Da Da 3
36 06 17 -
Timp de livrare 2 1 1 -
Simularea pe calculator poate să ne furnizeze soluţia cea mai bună. Această simulare trebuie extinsă pe mai mult de 10 zile, să zicem 100 de zile, înainte de a trage orice concluzie privind politicile ce au fost testate. Prin utilizarea calculatorului, se vor lua 1000 de zile şi se va obţine o estimare mai bună a costurilor.
-62-
Modelarea şi Simularea Sistemelor de Producţie
În plus se pot testa şi alte variante: să comande altă cantitate (de exemplu 11 unităţi), la alt nivel de reaprovizionare (de exemplu la nivelul de 4 unităţi). După simularea tuturor combinaţiilor rezonabile, a cantităţii de comandă şi a nivelului de aprovizionare, managerul va selecta perechea ce conduce la costul total cel mai scăzut şi apoi va lua decizia. În plus, cu simularea pe calculator se pot varia şi parametrii, cum ar fi nivelul iniţial al stocului, prin simpla introducere în program a altor date. 3.6.
SIMULAREA ÎN TIMP REAL ŞI ROLUL EI ÎN SISTEMUL INFORMATIC AL ÎNTREPRINDERII
Dezvoltarea modelelor de simulare cu calculatorul sau simularea pe calculator cu utilizare în domeniile de comunicaţii, industriile de prelucrare, producţie au oferit acestora posibilitatea de a deveni mai eficiente şi mai rentabile. Cele mari progrese în tehnologia computerelor au facilitat trecerea artei simulării de la controlul proceselor şi al activităţilor către modelarea pentru predicţie şi prognoză. În unele domenii alături de sistemele pentru proiectare şi simpla stocare de date, noua cerinţă impusă simulării este posibilitatea de a oferi avantaje economice şi pentru luarea deciziei în diferite compartimente ale întreprinderii. Progresele înregistrate în ultima perioada în tehnologia calculatoarelor au permis extinderea simulării într-un nou domeniu: conducerea globală (integrată) a întreprinderii, ceea ce înseamnă prelucrarea informaţiilor economice şi operaţionale pentru a fi utilizate la optimizarea activităţilor şi la conducerea strategică a întreprinderii. Încorporarea informaţiilor despre preţuri de achiziţie, vânzări, consum, cantităţi, stocuri analitice şi sintetice, valoric şi cantitativ conduce la posibilitatea luări deciziilor mult mai rapid şi cu mai multă exactitate. Îmbunătăţirea proceselor de conducere a producţiei impune atât stocarea informaţiilor cât şi determinarea disponibilităţilor şi integrarea folosirii lor. O simulare pe computer cere ca părţile individuale ale sistemului şi relaţiile dintre ele să fie exprimate în mod logic, fără a fi necesară descrierea sistemului printr-o modelare integral matematică. Instrumentele de lucru pentru simularea pe computere o constituie limbajele de programare şi pachetele de programe. La început simulările pe computer s-au dezvoltat folosind diverse limbaje de programare (FORTRAN, BASIC, PASCAL, C, C+, C++, etc). Numărului mare de funcţii necesare construirii unui model de simulare (descrierea modelului, generarea aleatorie de şiruri de numere, mecanisme incrementale de timp, culegerea si analizarea datelor, raportarea, etc.) reprezintă un dezavantaj major deoarece impune ca specialiştii interesaţi în simulare să cunoască la perfecţie acele limbaje de programare, încercându-se depăşirea acestor dezavantaje s-au creat biblioteci de subrutine care rezolvau anumite funcţii specifice etapelor de simulare (Simulation Language, General Purpose Simulation System), astfel atenţia se putea concentra asupra modelarii însăşi. Pachetele de programe sunt oarecum în polul opus cu limbajele de programare ne mai fiind necesar ca utilizatorul să aibă cunoştinţe solide de programare. Un alt avantaj este acela că construcţia modelului cu ajutorul pachetelor de programe se face mai repede decât cu ajutorul limbajelor de programare. Totuşi nu există o delimitare clara între pachetele de programe şi limbajele de programare din punct de vedere al pieţei. În general se preferă pachetele de programe datorită accesibilităţii lor, unii prefera limbajele de programare care oferă o mai mare flexibilitate în aplicaţii. Următoarele aspecte pentru optarea simulării pe computer sunt foarte importante: • Interfaţa utilizatorului; -63-
Problematica simulării
• Posibilităţile de modelare; • Posibilităţile de simulare; • Variabilele de ieşire; • Funcţiile statistice; • Flexibilitatea; • Verificarea erorilor; • Costuri. Astfel în acest cadru al performanţei tehnologiilor de calcul putem enumera câteva dintre problemele atinse de pachetele de programe pentru control şi prognoză în producţie. În general aceste programe sunt prezentate modular cuprinzând toate aspectele bunei funcţionări a producţiei. Aceste programe oferă: • soluţii integral computerizate şi complexe pentru planificarea şi controlul activităţii de producţie, eliminând hazardul rezultat în urma alegerii unei soluţii pe baza de “presupuneri”; • aplicaţii modulare şi flexibile la cererea clientului; • soluţii pentru orice tip de proces de producţie şi metode utilizate; • soluţii ce încorporează cele mai recente tehnici pentru planificarea necesarului de resurse materiale ( MRP) şi aprovizionarea la momentul potrivit ( JIT). • siguranţă deplină în sensul nepermiterii accesului neautorizat la informaţie pentru consultare sau modificare; • baza de date completă, sigură actualizată în permanenţă a tuturor materiilor prime, materialelor, piese finite şi producţie neterminată (nomenclaturare completă); • structura arborescentă a tuturor produselor, subansamblelor şi componentelor stă la baza calculaţiei costurilor, planificării necesarului de materiale pentru fabricaţie; • soluţii pentru planificarea, lansarea şi urmărirea producţiei; • o corelaţie directă a stocurilor achiziţionate şi fabricate cu cererea; • date corecte despre încărcarea centrelor de lucru; • informaţii în timp real despre activitate la nivel de atelier; • grafice valide având ca rezultat reducerea ciclului de producţie • prognoze, planificări de aprovizionare funcţie de consum si PPD; • modul de plan de producţie director având menirea de a realiza o coordonare eficientă între vânzări şi producţie, astfel încât să se utilizeze optim resursele întreprinderii.
-64-
Modelarea şi Simularea Sistemelor de Producţie
CAPITOLUL 4 MODELAREA ŞI SIMULAREA SISTEMELOR DE PRODUCŢIEI 4.1.
SISTEMUL DE PLANIFICARE A PRODUCŢIEI
Planificarea întreprinderii se desfăşoară pe următoarele etape: 1. planificarea strategică sau de perspectivă; 2. planificarea tactică sau curentă; 3. planificarea operativă sau programarea producţiei. Planificarea strategică adresează probleme ale strategiei de conducere privind direcţiile şi mărimea investiţiilor pentru crearea de noi obiective economice sau extinderea unora existente, definirea strategiilor de marketing, asimilarea de produse noi în strânsă legătură cu direcţiile şi nivelul specializării producţiei, stabilirea principalelor direcţii ale perfecţionării tehnicii şi organizării producţiei, ale recrutăii şi pregătirii resurselor umane. Planificarea tactică urmăreşte să aloce şi să utilizeze în mod eficient resursele materiale, financiare şi umane puse la dispoziţia întreprinderii ca efect al implementării deciziilor strategice. Planificarea operativă detaliază până la nivel de executant direct sarcinile ce decurg din planul tactic (curent) defalcat pe unităţi scurte de timp (săptămâni, zile, ore). Informaţiile utilizate sunt de cel mai mare detaliu, referindu-se la fiecare produs, subansamblu, piesă componentă. Deciziile privesc stabilirea momentelor de lansare a loturilor de fabricaţie la fiecare loc de muncă, urmărirea producţiei, controlul detaliat al stocurilor. 4.2.
PLANUL DE PRODUCŢIE DIRECTOR (PPD) 4.2.1. NOŢIUNI INTRODUCTIVE
Planificarea globală a capacităţilor şi mijloacelor industriale constituie esenţialul programării pe termen mediu. Acest plan permite programarea, pentru o perioadă de 12 – 24 luni, totalitatea capacităţilor de producţie în toate stadiile principale ale procesului de fabricaţie. Odată aceste programe cunoscute, se poate efectua calculul prognostic al costurilor produselor fabricate în familii de produse, ale necesarurilor de finanţare legate de producţie şi al bugetelor anuale care vor fi transmise unităţilor operaţionale. Flexibilitatea gestionării şi capacitatea de anticipare constituie două avantaje ale planului director. Ele permit, de fapt, să se rezolve contradicţia fundamentală între imposibilitatea stabilirii previziunilor detaliate, fiabile, pentru un timp foarte scurt, de câteva săptămâni, şi termenele importante de realizare (de punere în funcţiune) a mijloacelor de producţie. Această situaţie este şi mai complexă datorită caracterului neregulat – deseori sezonier al cererii. Contextul ideal ar fi reprezentat de îmbinarea unei cereri perfect stabilă pentru toate produsele întreprinderii, fără nici o incertitudine sau frecvenţa sezonieră, şi absenţa totală a riscurilor privind capacităţile de producţie şi aprovizionare. -65-
Modelarea şi Simularea Sistemelor de Producţie
Astfel, trebuie să se dimensioneze aparatul de producţie, să se determine structura optimă a mijloacelor industriale, programarea anuală a fabricaţiei şi ritmarea economică a aprovizionărilor. Realitatea se dovedeşte, bineînţeles, diferită. O cerere neregulată exclude orice stabilitate a mijloacelor de producţie. Rămân necesare reajustările permanente ale activităţii industriale. În practică, directorii de producţie se confruntă cu cele mai grave situaţii: cereri sezoniere (discontinue) sau, pur şi simplu foarte neregulate, şi dificil de prevăzut; rigidităţi în punerea în practică a mijloacelor de producţie. În acest caz, pentru 12 luni şi mai mult, deşi necesară pentru a coordona punerea în practică a mijloacelor clasice de reglementare a capacităţilor, planificarea detaliată nu este posibilă. Această contradicţie se poate remedia graţie planificării pe familii de produse, numită planificare pe termen mediu. Pe termen scurt, capacitatea de producţie este practic îngheţată. Rezultă că decidentul nu mai trebuie decât să aleagă compoziţia ordinelor de fabricaţie în cadrul capacităţii disponibile, în funcţie de cererile detaliate şi de disponibilităţile de materiale şi componente. Pentru a evita pe termen scurt gravele conflicte, sarcini – capacităţi, apare necesară prevederea pe termen mediu a necesarului de capacităţi şi mijloace de reglementare a acestor capacităţi. Această prognozare nu poate fi luată în considerare decât la un nivel global (nedetaliat), singurul compatibil cu calitatea prognozelor comerciale. Termenul mediu este limita care determină o mare flexibilitate în modul de utilizare a echipamentelor. Configuraţia generală a întrepriderii constituie cu certitudine o informaţie pe termen mediu şi nu poate să evolueze semnificativ decât într-un termen mai lung, dar ea rămâne modulabilă prin jocul combinat al diferitelor variabile de reglementare. Puţine întreprinderi ştiu totuşi să obţină profit din flexibilitatea pe care o furnizează aceste variabile. Regrupările operate în planificarea pe termen mediu nu se sprijină doar pe cereri, ci şi pe posturile de lucru. Acestea sunt de fapt regrupate în centre omogene de fabricaţie sau centre de sarcină, a căror activitate este compatibilizată în unităţi de lucru globale: ore standard, tone, metri cubi, unităţi fizice, tipuri etc. În numeroase situaţii industriale, trebuie operate mai multe grade de regrupare în procesul de fabricaţie. În practică se realizează o “optimizarea în cascadă”. Planul director de producţie, priveşte stadiul cheie al fabricaţiei, unde ajustările sarcinilor la capacităţi se dovedesc cele mai remunerative (profitabile, rentabile). Planurile directoare ale ansamblului familiilor de produse vor antrena sarcini de lucru pe celelalte centre de activitate ale întreprinderii, creând astfel o cascadă de ajustări sarcini – capacităţi pentru totalitatea centrelor omogene de producţie. Planurile de producţie sunt astfel stabilite pentru fiecare dintre ele. Creează necesaruri de aprovizionări, ele însele regrupate în familii omogene. Planul director comandă deci activitatea altor centre de producţie. Acest document de bază serveşte la planificarea sarcinii, ca şi mijloacele de mobilizat, pentru a atinge obiectivele planurilor pe termen mediu: mâna de lucru în funcţie de calificare, antrepriza, etc. . Se pot astfel stabili planuri de aprovizionare externă, ca şi planuri de transport pentru mărfuri. În acest stadiu al termenului mediu, se gândeşte în mod global pentru sute de ore sau în tone de materii de un anumit tip. Aceste planuri, revizuite periodic, dacă procedura este pusă în practică în mod inteligent, aceste revizuiri nu vor fi decât minore în raport cu marile mase la care se referă. -66-
Modelarea şi Simularea Sistemelor de Producţie
Această metodă prezintă avantajul că ne asigurăm de disponibilitatea sa la momentul dorit, de mijloacele necesare de a produce, în ciuda termenelor importante de punere în funcţiune. Pe termen scurt, când cererea de referinţă este cunoscută cu precizie, reajustările se impun, dar nu pot să acţioneze decât asupra compoziţiei ordinelor de fabricaţie. 4.2.2. PLANUL DE PRODUCŢIE DIRECTOR (PPD) PE TERMEN LUNG Prima etapă a procesului de planificare a producţiei constă în stabilirea într-un orizont de 12-24 luni al unui plan al activităţii globale, pe familie de produse. În general, mai multe ateliere sau posturi de sarcină se găsesc direct implicate în această fază. Cu toate acestea nu este posibilă, în practică, să le planificăm în mod simultan şi sincronizat. Datorită complexităţii problemei este dificil să se construiască un algoritm de optimizare care să realizeze calculele necesare. Pentru a acoperi acest handicap, se începe cu stabilirea unui plan director de producţie care nu priveşte decât un stadiu de fabricaţie. Acesta nu este ales la întâmplare, el corespunde stadiului cheie al procesului de producţie. Este, în general, lanţul de montaj final, deşi poate să fie vorba despre o etapă intermediară care să constituie activitatea principală a întreprinderii. Să se dea în subantrepriză, în acest stadiu al producţiei, ar însemna să se abandoneze o parte a pietei în mâinile concurenţei. De fapt, în această fază de producţie sunt concentrate, în general, investiţiile industriale cele mai costisitoare, pe care trebuie să le folosim la maximum. În schimb, darea în subantrepriză în alte stadii ale procesului de fabricaţie (sau a se găsi momentan în excedent de capacitate) nu prezintă incoveniente majore. Din contra, aceasta poate constitui modul de organizare cel mai economic. Pentru sectorul maşinilor agricole, al materialului pentru lucrările publice, electro-casnic, planul director pe termen lung priveşte în mod natural etapa de montaj. În industria jucăriilor, în special sectorul automobilelor miniaturale, mulajul pieselor apare ca stadiu cheie al producţiei; motajul propriu-zis putând fi cu uşurinţă subcontrolat cu personalul care lucrează la domiciliu, cu echipamente simple şi puţin costisitoare. În industria optică, culoarea este o variantă care poate fi realizată în ultima operaţiune; planul director este atunci stabilit în stadiul produselor finite brute, necolorate. Planul director pe termen lung vizează furnizarea unei viziuni de ansamblu a activităţii industriale pe o periodă de 12-14 luni. Această viziune este apreciată de la postul de sarcină cheie. Acest plan permite programarea pe familie de produse, deci, în general pe lanţ de montaj, al regimurilor de producţie şi a evoluţiei lor lună de lună. Unitatea de cont în acest orizont este un concept global de oră standard sau de unitatea fizică tip. Cum vom vedea mai departe, elaborarea acestui plan director constă în rezolvarea conflictelor sarcină-capacitate, ţinând cont de structura costurilor de stocare, de realizări (întreruperile de stocare), de lansarea în fabricaţie şi de mână de lucru. Organizarea capacităţii îşi are originea în chiar structura cererii produselor de fabricare. Este esenţial să se dispună de un orizont de decizie suficient de lung în cazul în care principalele variabile de ajustare (adaptare) prezintă termene de punere în practică importanţi. Acest plan este denumit directo din două motive. Pe de-oparte, el induce o sarcină de lucru pe ansamblul posturilor a căror activitate trebuie să fie coordonată ca să permită fabricarea componentelor şi sub-ansamblelor care intervin în nomenclatura produselor finale (în cantitatea şi în timpul dorit). Pe -67-
Modelarea şi Simularea Sistemelor de Producţie
de altă parte, facem necesare nevoile de aprovizionare de la furnizorii externi, pentru a asigura ansamblul fabricaţiilor. 4.2.3. PLANUL DE PRODUCŢIE DIRECTOR (PPD) PE TERMEN MEDIU O dată stabilit planul director, este nevoie să se planifice în mod coerent activitatea atelierelor care trebuie să asigure fabricarea componentelor şi subansamblelor care figurează în nomenclatură şi care trebuie să se concentreze din aproape în aproape spre lanţul de montaj. Orice greşeală antrenează consecinţe grave. Conduce fie la: producerea de piese în cantităţi excesive, care, într-o primă fază mobilizează o capacitate !" pe care am putea-o aloca altor fabricaţii, şi într-o a doua fază, constituie stocuri de care nu este nevoie imediat; constatarea unor întrerupei de stocuri (realizări) imediate care anulează orice şansă de a !" atinge obiectivele planului director. Principiul planificării necesităţilor de componente (MRP), constă, pornind de la nomenclaturile de produse în calcularea necesităţilor de subansamble, componente şi materii necesare realizării planului director. Cunoaşterea timpilor medii de fabricaţie, a termenilor de aşteptare şi de tranzit între fiecare post, a termenilor de aprovizionare pentru materii (prime) şi componentele cumpărate din exterior, permite eşalonarea în timp a producţiilor şi a deciziilor de aprovizionare induse de planul director pe stadiile intermediare de producţie. Datorită utilizării seriilor de fabricaţie, se pot calcula, de asemenea, sarcinile pe posturile intermediare. Acest principiu nu este totuşi atât de simplu cum pare la prima vedere. De fapt, ca şi pentru planul director pe termen lung, stabilirea planurilor pe termen mediu pentru posturile de sarcină care privesc fabricaţia familiilor de produse obligă la ajustări delicate între sarcini şi capacităţi. Cu cât se înaintează în procesul de fabricaţie, cu atât distanţa între sarcinile induse şi capacităţile disponibile devine importantă. Orice deplasare în timp a sarcinii unui nivel intermediar riscă să perturbe obiectivele planului director sau să creeze stocuri inutile. Dacă izbucnesc prea multe conflicte, se poate încerca revizuirea planului director. Această procedură de tip iterativ (repetitiv) trebuie evitată în măsura posibilului, deoarece se presupune că planul director a optimizat deja utilizarea capacităţilor celor mai costisitoate şi a celor mai strategice pentru întreprindere. Ajustările între sarcinile şi capacităţile nivelurilor intermediare se dovedesc mai uşor de rezolvat, pentru că flexibilitatea este mai mare: echipamentele sunt, în general, mai puţin sofisticate, mâna de lucru mai polivalentă şi subantrepriza poate fi luată în calcul cu uşurinţă pentru a absolvi excedentele de sarcină. Pe termen mediu se gândeşte la nivelul postului de sarcină sau atelier, care regrupează fiecare un ansamblu logic al operanţiunii elementare. Ca exemple de asemenea regrupări, cităm turnătoria, pictura, ambutisarea, sudura pe puncte, etc. .
-68-
Modelarea şi Simularea Sistemelor de Producţie
Astfel se ajunge să se lucreze nu numai pe nomenclaturile biroului de studii şi pe seriile biroului de metode, ci şi pe documentele cele mai sintetice pe care le denumim macronomenclaturi sau macroserii. Ansamblul planurilor de producţie fiind stabilit, ne găsim în poziţia (posibilitatea) de a elabora o politică globală de investiţii de completare, de mână de lucru, de subantrepriză şi de aprovizionări. În ceea ce priveşte mâna de lucru, regimurile de producţie dictează necesităţile de efective şi programele de pregătire asociate, ca şi necesităţile de ore suplimentare. Pentru subantrepriză, planurile pe termen mediu de producţie permit să se determine volumul de ore care se dau în subantrepriză, pe tip de activitate. Pentru aprovizionări, planurile autorizează trecerea (depăşirea) pieţelor anuale, fără a se angaja pe această cale în ritmul livrărilor şi a compoziţiei lor exacte. Orizontul de termen mediu procură timpul necesar pentru negocierea deciziilor cu toate părţile implicate, adică direcţia comercială, financiară, de personal, comitetul de întreprindere, subcontractanţii, furnizorii. Cu cât orizontul este mai îndepărtat, cu atât riscurile de a vedea cererea modificată sunt mai importante. Pentru a fi utilă, această procedură de planificare pe termen mediu necesită o actualizare regulată pe o bază riscantă. O lună, pare cea mai bună perioadă. Aceasta înseamnă că în fiecare lună trebuie să se dispună de: #" portofoliul de comenzi actualizat; #"
noile previziuni comerciale care se vor substitui celor precedente;
#"
noile constrângeri care privesc utilizarea capacităţilor şi recurgerea la subantrepriză;
#"
noile condiţii de aprovizionare;
#"
informaţiile actualizate despre furnizori.
Planul de producţie apare, ca instrument de integrare a deciziilor tactice luate de ansamblul direcţiilor întreprinderii. Date necesare realizării Planului de Producţie Director (PPD): prognoze de vânzare; acestea se obţin din planul marketing aprobat de conducerea !" organizaţiei economice; în general, prognozele sunt aduse la zi în funcţie de evoluţiile de pe piaţă (de exemplu, revizuire lunară); portofoliul de comenzi primite de la clienţi; !" planul de reparaţie şi întreţinere a utilajelor; !" fişierul de articole în stoc; !" valoarea capacităţilor de producţie etc; !" Date evaluate de PPD : o evoluţia sarcinilor de producţie în timp; o evoluţia stocurilor în timp. o pornind de la simulările efectuate se va reţine planul director ce corespunde cel mai bine obiectivelor urmărite. Propus şi negociat în cadrul serviciului comercial, dacă este aprobat, planul director devine un contract. -69-
Modelarea şi Simularea Sistemelor de Producţie
Concluzii 1. La stabilirea planului director, în mod deosebit în ceea ce priveşte faza 1, apare necesitatea de a verifica fezabilitatea la nivelul produselor finite – în mod deosebit sarcinile şi capacităţile la asamblare. 2. Pentru a evita efectuarea unor calcule de lungă durată, de cele mai multe ori se acceptă verificările la nivelul posturilor de lucru saturate (cu deficit de capacitate). Acestea sunt cunoscute din evoluţiile anterioare ale producţiei. 3. Aducerea la zi a PPD se face în funcţie de tipul de industrie în care se aplică. Perioada obişnuită este o săptămână. Dar poate fi şi mai mare, de până la o lună în unele cazuri. 4. Informaţiile conţinute în PPD depind de natura întreprinderii în care se aplică: a. pentru întreprinderile care deservesc clientela dintr-un stoc de produse finite cunoscute şi prezentate în catalog, aceste produse figurează explicit în planul director; b. pentru întreprinderile care fabrică produse personalizate, clientul poate să-şi exprime diferite opţiuni, pe baza consultării unor modele de bază (automobile, electro-menajere etc.); în acest caz, planul director va cuprinde modelele de bază şi opţiunile, precum şi planuri anexă de asamblare, potrivit comenzilor primite de la clienţi; c. pentru întreprinderile ce lucrează exclusiv pe bază de comandă, în care fabricaţia nu poate începe decât după ce produsul a fost proiectat, planul director se va raporta la portofoliul de comenzi.
4.3.
PLANIFICAREA DETALIATĂ A NECESARULUI DE MATERIALE
Calculul necesarului de materiale este utilizat pentru pilotarea proceselor de producţie desfăşurate în flux împins (metoda MRP ), a proceselor de producţie desfăşurate în fluxuri sincronizate (metoda Clis) şi pentru programe directoare ale proceselor de producţie (metoda Konban ). Acest calcul se realizează pentru: $"nomeclarea componentelor şi articolelor procesului de producţie în forma arborescentă; $"realizarea previziunilor comerciale sau a programmelor directoare ale procesului de producţie; $"realizarea notei de comandă care reflectă necesităţile comerciale; $"cunoaşterea necesităţilor pentru toate procesele de producţie în care toate componentele standardizate se realizează din asamblarea mai multor produse de pe acelaşi nivel de nomenclare sau de pe mai multe nivele diferite. Calculul de necesar comportă următoarea metodologie: !"nomeclarea arborescentă (ierarhizarea în cascadă); !"program director pentru procesul de producţie şi/sau nota de comandă; -70-
Modelarea şi Simularea Sistemelor de Producţie
!"calculul de necesar brut; !"calculul de necesar net; !"definirea ordinului de previziune în scopul satisfacerii necesităţilor nete ce va indica: - cantitatea în unităţi de articol; - data de lansare a ordinului de previzionare;
4.3.1 EXEMPLUL 1. PLANIFICAREA DE NECESAR BRUT PE BAZA PREVIZIUNILOR COMERCIALE Exemplul se referă la determinarea necesarului brut în vederea realizării previziunii comerciale care ne va ajuta să determinăm volumul de producţie pentru fiecare componentă în perioada analizată. Vom aplica această metodologie de calcul al necesităţilor brute pentru determinarea necesităţilor de module tipografice într-o întreprindere ce fabrică materiale de imprimerie. Programarea cantităţii ce trebuie fabricate spre a fi comercializată se face pe baza previziunilor comerciale pe trei luni. Etapa 1
Colectarea datelor - nomenclarea
Se realizează nomenclarea în cascadă parţială pentru produsul din gama A (figura 4 1) Produs Comercial
A
Nivel 0 (Nivel superior) X1
Nivel 1
X2
B
X1
Nivel 2 (Nivel inferior)
D
Subansamblu
C X3 X1 E
F
X2 G
Componente
Figura 4.1 Nomenclarea în cascadă parţială Cifrele notate cu xi în dreptul liniilor de nomenclare reprezintă cantităţi de pe nivelul inferior necesare pentru realizarea unui singur exemplar din articolul de pe nivelul superior. Aceste numere poartă denumirea de coeficienţi de asamblare. Pentru exemplul de faţă modul de tipărire (A) este constituit dintr-un suport (B) şi două care de tipărire (C). De asemenea fiecare suport (B) este compus dintr-un batiu (D) şi trei tălpi de fixare (E); iar fiecare car de tipărire (C) este compus dintr-un cap de imprimare (F) şi două ghidaje (G). Previziune comercială. pentru produsul A
Pentru următoarele trei luni sunt necesare următoarele cantităţi -71-
Modelarea şi Simularea Sistemelor de Producţie
A Etapa 2
Ianuarie 100
Februarie 150
Martie 100
Calculul necesităţilor brute pentru nivelul 0 de nomenclare
Necesităţile brute pentru nivelul 0 de nomenclare provin direct din previziunile comerciale sau plan de producţie director (PPD) sau nota de comandă. Perioadele corespunzătoare acestor necesităţi reprezintă datele de exigibilitate. Necesităţile brute pentru produsul A sunt pentru fiecare perioadă identice cu cele exprimate în previziunile comerciale. Necesităţi brute pentru produsul A Reper Nivel Ianuarie 0 100 A N.B. Etapa 3
Februarie 150
Martie 100
Planificarea necesităţilor brute pentru nivelul 1 de nomenclare
Necesităţile brute (N.B.) pentru un articol y situat pe nivelul x de nomenclare se obţine prin înmulţirea necesităţilor brute ale articolului x de pe nivelul n-1 de nomenclare cu coeficientul de montaj corespunzător liniei ce leagă cele 2 articole. Articolele de pe nivelul 1 de nomenclare (fig. 4.1) sunt B şi C. Coeficienţii de montaj sunt 1 respectiv 2, precum articolele B şi C. Astfel, necesităţile brute pentru C pe luna ianuarie au valoarea de 100 x 2 = 200, în care 100 reprezintă necesităţile brute pentru A în luna ianuarie, iar 2 reprezintă coeficientul de montaj al liniei AC. Necesităţi brute. Nivelul 1 de nomenclare Reper Nivel cm Ianuarie 0 100 A N.B. 1 Ax1 100 B N.B. 1 Ax2 200 C N.B.
Etapa 4
Februarie 150 150 300
Martie 100 100 200
Planificarea necesităţilor brute pentru nivelul 2 de nomenclare
Procedeul este asemănător ca la pasul anterior pentru determinarea necesarului brut pentru nivelul 2 de nomenclare. Astfel, necesarul brut pentru luna ianuarie pentru articolul G are valoarea 200 x 2 = 400, unde 200 reprezintă necesarul brut pentru C, iar 2 reprezintă coeficientul de montaj pentru linia GC.
-72-
Modelarea şi Simularea Sistemelor de Producţie
Necesar brut şi cumulat. Nivelul 2 de nomenclare. Reper Nivel cm Ianuarie 0 100 A N.B. 1 Ax1 100 B N.B. 1 Ax2 200 C N.B. 2 Bx1 100 D N.B. 2 Bx3 300 E N.B. 2 Cx1 200 F N.B. 2 Cx2 400 G N.B
Februarie 150 150 300 150 450 300 600
Martie 100 100 200 100 300 200 400
Total 350 350 700 350 1050 700 1400
Aşadar cu ajutorul acestui calcul putem dispune foarte rapid de necesităţile brute Concluzii: pentru subansambluri şi componente pentru o perioadă determinată pornind de la cunoaşterea nevoilor comerciale pentru produsul finit. Utilizarea unei astfel de logici de tip tabel deşi are performanţe modeste este indispensabil în cazul nomenclării unei diversităţi de articole. Acest tip de calcul este necesar pentru a stabili previziunea de încărcare a bugetului şi mai mult pentru a defini capacitatea de producţie.
4.3.2. EXEMPLUL 2 PLANIFICAREA NECESARULUI BRUT PE BAZA ORDINELOR DE APROVIZIONARE FĂRĂ GENERARE DE STOC ŞI CU GENERARE DE STOC Exemplul se referă la comercializarea produselor informatice pe care o societate specializată le asamblează pornind de la componente de bază cu care se aprovizionează astfel încât să nu genereze stoc de componente. Pentru stabilirea notei de comandă se va avea în vedere stabilirea unei planificări a ordinelor de aprovizionare cu componente de bază. Etapa 1
Colectarea datelor (nomenclarea)
Să presupunem că ne interesează un singur tip de produs şi anume o minireţea pentru care codul de nomenclare al articolelor, limitate la componentele principale sunt următoarele: Denumire articol Miniretea Console Server Floppy 360 KO Microprocessor Harddisck 30 MO -73-
Cod A B C D E F
Modelarea şi Simularea Sistemelor de Producţie
Produs Comercial
A
Nivel 0 (Nivel superior) X3
Nivel 1
X1
B
Nivel 2 (Nivel inferior)
X2 D
C
X1 E
X1 E
Subansamblu X1
Componente
G
Figura 4.2 Previzionare comercială: Pentru luna următoare comenzile săptămânale pentru produsul A sunt următoarele: Nr. săptămâni Produs A
1 100
2 50
3 150
4 200
Ţinând seama de faptul că furnizorii sunt viabili, Articole disponibile şi în curs. întreprinderea nu are nevoie de stocuri, astfel ea lucrează pe comandă. Deci numărul articolelor ce sunt în curs de aprovizionare coincid cu numărul articolelor disponibile. Întârzieri în obţinere. Întârzierile în realizarea unui ansamblu din cauza nerealizării subansamblului este neglijabilă în cazul exemplului de faţă. Pentru o ordine de previzionare inferioară sau egală cu 600 întârzierile în realizarea ansamblurilor şi subansamblurilor este de 2 săptămâni pentru subansamblul B şi o săptămână pentru subansamblul C. Iar întârzierile de aprovizionare pe toate componentele de pe nivelul 2 sunt de o săptămână. Etapa 2
Planificarea de nesar brut pentru nivelul 0 de nomenclare
Necesarul brut pentru nivelul 0 de nomenclare provin direct din previziunile comerciale sau planul de producţie director (PPD), sau nota de comandă. Necesităţile brute pentru articolul A sunt pentru fiecare perioadă identice cu cele din nota de comandă. NN (necesar net) = NB (necear brut) –AD (articole disponibile) În cazul de faţă AD=0, deci nevoile brute sunt egale cu nevoile nete , şi aceasta deoarece întreprinderea funcţionează fără stocuri. Ordinul- de previzionare. Ordinele de previzionare sunt ordine de montaj. Deoarece stocul este zero, cantităţile asamblate sunt egale cu necesităţile nete exprimate şi egale cu cantităţile din nota de comandă. Întârzierea în obţinerea articolului A, generată de articolele B şi C fiind de 5 minute, decalajul de perioadă pentru data de lansare a ordinelor de previzionare este imperceptibilă în studiul de caz. -74-
Modelarea şi Simularea Sistemelor de Producţie
Astfel, rezultatele pentru prima operaţie sunt date în tabelul de mai jos Nr. săptămâni NB A AD NN OP Etapa 3
1 100 0 100 100
2 50 0 50 50
3 150 0 150 150
4 200 0 200 200
Planificarea de necesar brut pentru nivelul 1 de nomenclare
Necesităţile brute pentru fiecare perioadă pentru B şi C se exprimă în modul următor pentru prima săptămână:
NBB = OPA × C mBA = 100 × 3 = 300 NBC = OPA × C mBA = 100 × 1 = 100 Nr. săptămâni
50
51
52
A B
(Ax3)
C
(Ax1)
NB NB
1 100
2 50
3 150
4 200
300
150
450
600
100
50
150
200
Necesităţile nete în absenţa stocurilor şi presupunând că articolele comandate nu sunt sosite, deci necesităţile nete sunt egale cu cele brute. Nr. săptămâni
50
51
52
A B
(Ax3)
C
(Ax1)
NB AD NN NB AD NN
1 100 300 0 300 100 0 100
2 50 150 0 150 50 0 50
3 150 450 0 450 150 0 150
4 200 600 0 600 200 0 200
Perioadele considerate pentru calculul necesităţilor brute şi nete Ordinul de previzionare. reprezintă şi datele de exigibilitate pentru articolele respective. Datele atribuite pentru ordinele de previzionare sunt datele de lansare o ordinelor de fabricaţie, de avansare şi aprovizionare pentru aceste articole. Întârzierile de realizare a subansamblurilor generate de componente sunt de două săptămâni pentru B şi o săptămână pentru C. Astfel OPB (ordinul de previzionare pentru componenta B) va fi decalat cu 2 săptămâni în amonte în raport cu necesităţile brute.
-75-
Modelarea şi Simularea Sistemelor de Producţie
Nr. săptămâni A B
C
(Ax3)
(Ax1)
Etapa 4
50 OP NB AD NN OP NB AD NN OP
51
52
300
150
1 100 300 0 300 450 100 0 100 150
2 50 150 0 150 600 50 0 50 150
3 150 450 0 450
4 200 600 0 600
150 0 150 200
200 0 200
Planificarea de nesar brut pentru nivelul 2 de nomenclare
Necesităţile brute pentru articolele D, E, F de pe nivelul 2 de nomenclare se deduc din necesităţile nete exprimate în ordinul de previzionare pentru articolele B şi C afectate de coeficienţii de montaj pentru nivelul 2 de nomenclare. Nesităţile brute pentru articolul D provin exclusiv din nevoile nete exprimate în ordinul de previzionare pentru B. Coeficientul de montaj pentru articolul D este egal cu 2. Exemplu: Pentru săptămâna 51 ordinul de previzionare pentru B este 300, iar coeficientul de montaj este 2. Deci nevoile brute pentru articolul D sunt de 600. Rezultatele pentru calculul nesităţilor brute pentru articolul D sunt următoarele: Nr. săptămâni B OP (Bx2) D NB
51 300 600
51 150 300
1 450 900
2 600 1200
Necesităţile brute pentru articolul E provin din cele două surse cunoscute B şi C astfel: Necesităţi brute pentru E generate de B Nr. săptămâni 51 52 300 150 B OP (Bx1) 300 150 E NB
1 450 450
2 600 600
3
4
Necesităţi brute pentru E generate de C Nr. săptămâni 51 52 100 C OP (Cx1) 100 E NB
1 50 50
2 150 150
3 200 200
4
Necesităţile brute sunt egale cu necesităţile nete deoarece stocul este 0. Ordinele de previzionare sunt identice cu necesităţile nete. Întârzierile de pe nivelul 2 sunt egale cu o săptămână, iar tabelul de necesităţi nete şi ordine de previzionare este următorul:
-76-
Modelarea şi Simularea Sistemelor de Producţie
Nr. săptămâni NB (Bx2) D OP
E
F
(Bx1) (Cx1)
(Cx1)
50 600
51 600 300
NB
300
AD NN OP NB AD NN OP
0 300 250
300
100
52 300 900 150 100 0 250 500 100 0 100 50
1 900 1200 450 50 0 500 750 50 0 50 150
2 1200 600 150 0 750 200 150 0 150 200
3
4
200 0 200 200 0 200
Ansamblul tuturor acestor tabele îl putem concluziona într-un singur tabel:
A
B
C
D
E
F
Nr. săptămâni NB AD NN OP NB AD (Ax3) NN OP NB AD (Ax1) NN OP NB AD (Bx2) NN OP NB AD (Bx1) (Cx1) NN OP NB AD (Cx1) NN OP
Observaţie:
50
600
51
52
300
150
600 0 600 300 300 0 300 300
100
100 300 0 300 900 250 0 250 250 100 0 100 50
1 100 0 100 100 300 0 300 450 100 0 100 50 900 0 900 1200 500 0 500 500 50 0 50 150
2 50 0 50 50 150 0 150 600 50 0 50 150 1200 0 1200
3 150 0 150 150 450 0 450
4 200 0 200 200 600 0 600
150 0 150 200
200 0 200
750 0 750 750 150 0 150 200
200 0 200 200 200 0 200
Pentru a anula comenzile suplimentare s-a ales OP=NN şi AD=0. -77-
Modelarea şi Simularea Sistemelor de Producţie
4.3.2. EXEMPLUL 3 PLANIFICAREA DE NECESAR BRUT UTILIZÂND CALCULUL MATRICIAL Vom ilustra în acest caz modul de utilizare al matricilor pentru calculul necesităţilor brute. Cazul se referă la o familie de capete multibroşă confecţionate pornind de la subansambluri identice (reper D). Etapa 1
Culegerea de date
Nomenclarea – se realizează în cascadă parţială referitoare la 3 produse din gamă. Aceasta nomenclare poate fi prezentată sub forma unei matrice unde coloanele reprezintă componentele, iar liniile produsele din gamă şi valorile coeficienţilor de montaj. B
A X2 D
E X2
X1 H
X1
X3
X1
D X1
X1
X1
IX JX
MA
X1 IY PA
X1
D
G X1 X4
H
X1 X1
H
C
X4
X1
F
X3
1Y
X1 PB
JX MB
X1
JY
X1 MC
PC
Prin urmare obţinem matricea subansamblurilor : A B C D E F G
H 1 0 0 0
IX 0 2 0 4
IY 0 0 3 4
JX 0 1 1 0
JY 0 0 0 1
D 2 3 4 MA 0 1 0 0
E 1 0 0
F 0 1 0 MB 0 0 1 0
G 0 0 1 MC 0 0 0 1
PA 0 1 0 0
PB 0 0 1 0
PC 0 0 0 1
Matricea cumulată stabileşte legăturile dintre piese - ansamble - subansamblul şi va fi notată cu matricea [ toate nivelele] şi se obţine prin înmulţirea celor două matrici. Matrice [nivel 0] x matrice [nivel 1] -78-
Modelarea şi Simularea Sistemelor de Producţie
[toate nivelele] = [nivel 0] x [nivel 1] = 1 2 1 0 0 3 0 1 0 × 0 0 4 0 0 1 0
0 2 0 0
0 0 3 4
0 1 1 0
0 0 0 1
0 1 0 0
0 0 1 0
0 0 0 1
0 1 0 0
0 0 1 0
0 0 0 1
Rezultatul este prezentat: A B C
H 2 3 4
IX 2 0 0
IY 0 3 4
JX 1 1 0
JY 0 0 1
MA 1 0 0
MB 0 1 0
MC 0 0 1
PA 1 0 0
PB 0 1 0
PC 0 0 1
Dacă nomenclarea are mai mult de 3 nivele principiul de calcul este uşor de aplicat realizând cascada de produse pentru determinarea matricei totale. [toate nivelele] = [nivelele 0] x [nivelul 1 x …x [nivelul (n-1)] n- numărul nivelelor de nomenclare Programe de producţie directoare (PPD) PPD pot fi prezentate în forma matricială. Vom nota cu PPD matricea ce defineşte un PPD pe o anumită perioadă. Iată matricea relativă la exemplul de mai sus: Ian Feb Mar
A 100 100 100
B 50 100 150
C 200 100 300
Necesarul net Calculul de NB de pe nivelul 2 se obţine prin înmulţirea celor 2 matrici precedente. NB = PPD x [ toate nivelele]
100 50 200 2 2 0 1 0 1 0 0 1 0 0 NB = 100 100 100 x 3 0 3 1 0 0 1 0 0 1 0 100 150 300 4 0 4 0 1 0 0 1 0 0 1 -79-
Modelarea şi Simularea Sistemelor de Producţie
Rezultatul este următorul:
Ian Feb Mar
H
IX
IY
JX
JY
MA
MB
NC
PA
PB
PC
1150
200
950
150
200
100
50
200
100
50
200
900 1850
200 200
700 1650
200 250
100 300
100 100
100 150
100 300
100 100
100 150
100 300
Odată calculat NB, matricea poate fi utilizată la stabilirea listei de aprovizionare, fluxul de materiale sau planul de încărcare a atelierului pentru producţia dată. Astfel matricea următoare ne dă timpii pe operaţii pe fiecare articol denumită “matricea timpilor” (TSP). H IX IY JX JY MA MB MC PA PB PC
TPR 0 0 0 0 0 0 4 4 3 4 5
TSA 20 12 12 10 10 0 0 0 16 16 16
FRV 3 0 0 8 8 5 0 0 0 0 0
ALE 12 0 0 0 0 0 0 0 10 15 20
PER 0 0 0 0 0 6 5 6 6 5 6
TAI 0 40 30 15 20 0 0 0 0 0 0
Matricea denumită planul de încărcare se obţine prin produsul dintre matricea NB cu matricea timpilor. [plan încărcare] = [ NB] X [TSP] Se obţine rezultatul următor: Ian Feb Mar
TPR 2500 2000 4200
TSA 45900 36600 73500
FRV 6750 5600 10450
ALE 19550 15300 31450
PER 4100 3400 6300
TAI 42750 34000 67250
Această succesiune ne permite să trecem de la cererea comercială referitoare la mai multe produse la planul unitar de încărcare pe operaţii . Putem proceda analog pentru a defini necesităţile matriale pentru articolele de nivele inferioare plecând de la o matrice de flux. Această manieră este utilă pentru stabilirea unei planificări în raport cu termenii planului de încărcare. -80-
Modelarea şi Simularea Sistemelor de Producţie
CAPITOLUL 5 LIMBAJE DE SIMULARE 5.1.
MATLAB SUB WINDOWS 5.1.1. LANSAREA ÎN EXECUŢIE. FERESTRELE DE LUCRU
Programul se lansează în execuţie din mediul Windows, prin selecţia pictogramei MATLAB. MATLAB lucrează cu două tipuri de ferestre: o fereastră de comenzi şi o fereastră pentru reprezentări grafice. Fereastra de comenzi este reprezentată în figura 5.1. Meniul din bara superioară este accesibil prin tastarea simultană a tastei [Alt] şi a literei subliniate a comenzii dorite sau prin selecţia directă cu mouse-ul a comenzii dorite.
Figura 5.1. Fereastra de comenzi a programului MATLAB sub Windows Fiecare comandă din meniul principal conţine la rândul ei submeniuri specifice. Astfel pentru a selecta comanda File se tastează [Alt]+F şi se obţine submeniul acestuia prezentat în figura 5.2.
Figura 5.2. Submeniul File -81-
MATLAB sub Windows
Comanda New va conduce la deschiderea unui alt submeniu cu opţiunile : M-file, Figure şi Model. Opţiunea M-file va deschide o fereastră de editare a unui fişier cu extensia M, opţiunea Figure deschide o fereastră grafică nouă, iar opţiunea Model va deschide două ferestre specifice lucrului cu Simulink ca în figura 5.3.
Figura 5.3. Meniul specific lucrului cu Toolbox-ul Simulink din MATLAB Comanda Open M file deschide o fereastră de dialog pentru a selecta un fişier care va deveni fişier de lucru, ca în figura 5.4.
Figura 5.4. Selectarea fişierului de lucru dorit cu extensia M, apelând comanda Open M file Comanda Run Script va deschide o fereastră de dialog pentru selectarea fişierului cu extensia M ce se doreşte a fi rulat (exemplificat în figura 5.5).
Figura 5.5. -82-
Modelarea şi Simularea Sistemelor de Producţie
Comanda Load Workspace deschide o fereastră de dialog pentru încărcarea unui fişier cu date al cărui nume este cunoscut, a cărui extensie este de tip mat file (exemplificat în figura 5.6).
Figura 5.6. Comanda Save Workspace as deschide o fereastră de dialog pentru salvarea datelor din spaţiul de lucru într-un fişier de tip mat file al cărui nume trebuie precizat (exemplificat în figura 5.7).
Figura 5.7.
Figura 5.8.
Comanda Show Workspace deschide o fereastră de dialog pentru selectarea fişierelor de date din spaţiul de lucru (exemplificat în figura 5.8). Comanda Show Graphics Property Editor deschide o fereastră de dialog pentru vizualizarea proprietăţilor editorului de grafică (exemplificat în figura 5.9).
Figura 5.9.
Figura 5.10. -83-
MATLAB sub Windows
Comanda Show GUI Layout Tool deschide o fereastră de dialog în vederea personalizării prezetării figurilor grafice (exemplificat în figura 5.10). Comanda Set Path deschide o fereastră de dialog în vederea selectării directorului de lucru (exemplificat în figura 5.11).
Figura 5.11. Fereastra de dialog pentru Set Path
Figura 5.12. comanda Preferences
Comanda Preferences deschide o fereatră de dialog prin care se pot selecta diferite opţiuni referitor la formatele de afişare , la alegerea fonturilor, precum şi a opţiunilor de copiere (exemplificat în figura 5.12). Comanda Print Setup configurează pagina şi tipul de imprimantă, iar comanda Print permite tipărirea documentului. În ultima poziţie din meniul File apare comanda Exit MATLAB ce are ca efect părăsirea aplicaţiei. Comanda mai poate fi selectată şi prin combinaţia de taste [Alt] + x din exteriorul meniului. Selectând comanda Edit din meniul principal, apare submeniul prezentat în figura 5.13.
Figura 5.13. Submeniul Edit
Figura 5.14. Submeniul View
Modul de lucru este identic cu cel al unui editor de text cum ar fi de exemplu Word 7. -84-
Modelarea şi Simularea Sistemelor de Producţie
Comanda View, prezentată în figura 5.14., din meniul principal, afişează un submeniu cu comanda Toolbar, care activată va permite afişarea sub meniul principal a unei bare cu diferite comenzi prezentate iconic. Comanda Window din meniul principal afişează submeniul prezentat în figura 5.15. trecerea dintr-o fereastră grafică sau de comenzi într-o altă fereastră se realizează prin selectarea comenzii Window din meniul principal, urmată de selectarea uneia dintre ferestrele grafice deschise (de exemplu Figure 1) sau a celei de comenzi (MATLAB Command Window).
Figura 5.15. Submeniul Window
Figura 5.16. Submeniul Help
Comanda Help din meniul principal afişează submeniul prezentat în figura 5.16. Comanda Help Windows afişează o fereastră de dialog în care sunt prezentate subdirectoarele din MATLAB. Selectarea subdirectorului dorit afişează conţinutul acestuia şi apoi informaţii despre un anumit fişier sau funcţie. Comanda Help Tips afişează o fereastră de dialog în care sunt prezentate modalităţile de ajutor în vederea obţinerii de informaţii privitor la o funcţie sau documentaţie. Comanda HelpDesk (HTML) afişează o fereastră de dialog în care sunt prezentate topica MATLAB-ului şi Toolbox-urile acestuia, sub format HTML. Comanda Examples and Demos afişează o fereastră de dialog pentru prezentarea demonstrativă a fiecărei aplicaţii în parte. Comanda About MATLAB afişează o fereastră de dialog în care este prezentată sigla „MATLAB®” cu înscrierea versiunii, a licenţei şi a utilizatorului. Comanda Show License afişează o fereastră de dialog în care se prezintă agreementul licenţei. Comanda Join MATLAB Access afişează o fereastră de dialog cu trimitere la pagina de web a firmei ce a produs MATLAB, pentru înregistrarea utilizatorului.
-85-
MATLAB sub Windows
Fereastra de reprezentări grafice în MATLAB Fereastra grafică prezintă într-o formă elevată reprezentarea graficelor. Gestionarea ferestrelor grafice, se face cu ajutorul comenzilor din meniul principal al acestuia. Selectarea comenzii File din reprezentarea grafică va determina afişarea submeniului acestuia prezentat în figura 5.17, care are cam acelaşi conţinut cu submeniul File din meniul principal al ferestrei de comenzi al MATLAB-ului.
Figura 5.17. Submeniul File al ferestrei grafice În fereastra grafică pot fi reprezentate funcţii 2D şi 3D, imagini color, animaţie, etc. Celelalte comenzi din meniul principal ce apar în fereastra grafică au acelaşi conţinut cu meniul principal al ferestrei de comenzi al MATLAB-ului.
5.2.
STRUCTURA PROGRAMELOR MATLAB. FUNCŢII MATLAB DE INTERES GENERAL
MATLAB-ul lucrează fie în modul linie de comandă, situaţie în care fiecare linie este prelucrată imediat şi rezultatele sunt afişate, fie cu programe conţinute în fişiere. Aceste două moduri formează împreună un “mediu” de programare. Fişierele ce conţin instrucţiuni MATLAB se numesc fişiere – M (deoarece au extensia “.m”) şi sunt programe MATLAB. Un fişier – M constă dintr-o succesiune de instrucţiuni MATLAB, cu posibilitatea apelării altor fişiere – M, precum şi a apelării recursive. Un program MATLAB poate fi scris sub forma fişierelor “script” sau a fişierelor “function”. Ambele tipuri de fişiere sunt scrise în format ASCII, iar algoritmul care a fost implementat poate fi urmărit cu foarte multă uşurinţă, dacă se cunosc convenţiile şi sintaxa MATLAB. Aceste tipuri de -86-
Modelarea şi Simularea Sistemelor de Producţie
fişiere, obligatoriu cu extensia “.m” permit crearea unor funcţii noi care le pot completa pe cele deja existente. Prin această facilitate, MATLAB-ul poate fi extins la aplicaţii specifice utilizatorului, care are posibilitatea să scrie noi proceduri. 5.2.1.
FIŞIERE „SCRIPT”
Un fişier „script” este un fişier extern care conţine o secvenţă de comenzi MATLAB. Prin apelarea numelui fişierului, se execută secvenţa MATLAB conţinută în acesta. După execuţia completă a unui fişier script, variabilele cu care acesta a operat rămân în zona de memorie a aplicaţiei. Aceste fişiere nu permit integrarea în programe mari, realizate pe principiul modularizării. Fişierele „script” sunt folosite pentru rezolvarea unor probleme care cer comenzi succesive atât de lungi, încât ar putea deveni greoaie pentru lucrul în mod interactiv, adică în modul linie de comandă. 5.2.2. FIŞIERE FUNCŢIE. Dacă prima linie a fişierului –M conţine cuvântul „function”, fişierul respectiv este declarat ca fişier funcţie. O funcţie diferă de un „script” prin faptul că poate lucra cu argumente. Variabilele definite şi manipulate în interiorul fişierului funcţie sunt localizate la nivelul acesteia. Prin urmare, la terminarea execuţiei unei funcţii, în memoria calculatorului nu rămân decât variabilele de ieşire ale acesteia. Fişierele funcţie sunt utilizate pentru extinderea MATLAB-ului, adică pentru crearea unor noi funcţii MATLAB. Forma generală a primei linii a unui fişier funcţie este: function [parametrii_ieşire]= nume_funcţie(parametrii_intrare) unde function - este cuvânt cheie care declară fişierul ca fişier funcţie (obligatoriu); nume_funcţie - numele funcţiei, adică numele sub care se salvează fişierul, fără extensie. Nu poate fi identic cu cel al unui fişier –M preexistent; parametrii_ieşire - parametrii de ieşire trebuie separaţi prin virgulă şi cuprinşi între paranteze drepte. Dacă funcţia nu are parametri de ieşire, parantezele drepte şi semnul egal nu mai au sens; parametrii_intrare - parametrii de ieşire trebuie separaţi prin virgulă şi cuprinşi între paranteze rotunde. Dacă funcţia nu are parametri de intrare, parantezele rotunde nu mai au sens. Aceste fişiere pot fi adăugate ca funcţii noi în structura MATLAB. Comenzile şi funcţiile care sunt utilizate de noua funcţie sunt înregistrate într-un fişier cu extensia „.m”. Prima linie a fişierului trebuie să conţină definiţia sintactică a noii funcţii. Exemplu. Să se scrie un fişier funcţie denumit „medie_aritm.m”, care calculează media aritmetică. Pentru a realiza acest lucru în mediul de programare MATLAB se selectează succesiv File/New/M-file (vezi figura 5.18), comandă care va conduce la deschiderea editorului din MATLAB. În acest editor selectăm succesiv File/New (vezi figura 5.19 şi 5.20) şi scriem următoarele instrucţiuni: -87-
MATLAB sub Windows
function m =medie_aritm(x) n=length(x); m=sum(x)/n; y=['Media numerelor este:',num2str(m)]; disp(y)
Figura 5.18
Figura 5.19
După scrierea instrucţiunilor în editorul MATLAB (vezi figura 5.20) , se selectează succesiv File/Save as (vezi figura 5.21), iar în căsuţa de dialog apărută (Save as) la rubrica File name se va scrie denumirea funcţiei, adică „medie_aritm” (vezi figura 5.21).
Figura 5.20
Figura 5.21
-88-
Modelarea şi Simularea Sistemelor de Producţie
5.2.3. FUNCŢII PENTRU CONTROLUL DIRECTOARELOR ŞI FIŞIERELOR Comenzile dir, type, delete şi cd implementează un set de comenzi generale ale sistemului de operare, care permit lucrul cu fişierele de pe hard. Funcţia dir se apelează cu sintaxa: dir afişează numele tuturor fişierelor din directorul curent sau din orice alt director precizat ca argument. Funcţia delete permite ştergerea unui fişier şi se apelează cu sintaxa: delete nume_fişier Funcţia cd returnează numele directorului curent, dacă se apelează cu sintaxa: cd sau schimbă directorul, dacă se apelează cu sintaxa: cd cale/nume_director
5.2.4. FUNCŢII DE CONTROL GENERAL Pentru controlul general al mediului de programare MATLAB se utilizează funcţiile: help what type lookfor which path who whos exist
- furnizează informaţii despre MATLAB şi funcţiile acestuia; - listează fişierele cu extensia *.M, *.MAT şi *.MEX din directorul curent; - listează fişierul M menţionat; - returnează numele fişierelor care au în prima linie a HELP-ului (linia H1) cuvintele precizate ca argument; - returnează calea în care este localizat un fişier sau o funcţie MATLAB; - returnează căile cu care lucrează MATLAB –ul; - listează variabilele curente din memorie; - listează variabilele curente, dimensiunea lor, precum şi tipul acestora (complexe sau reale); - verifică dacă o variabilă există în mediul MATLAB.
5.2.5. FUNCŢII DE CONTROL AL MĂRIMILOR DE TIMP clock cputime date etime tic, toc
- funcţie pentru citirea ceasului calculatorului; - funcţie pentru determinarea timpului de calcul al „CPU”; - funcţie pentru citirea datei din SETUP –ul calculatorului; - cronometrează intervalul de timp între două evenimente; - funcţii pentru pornirea şi oprirea unui cronometru; -89-
MATLAB sub Windows
5.2.6. FUNCŢII ASOCIATE FERESTREI DE COMENZI clc home format echo more
- şterge fereastra de comenzi din fereastra de comenzi al MATLAB –ului; - mută cursorul în poziţia iniţială; - setează formatul de afişare a datelor; - permite afişarea liniilor de program în timpul executării acestora; - funcţie pentru controlul numărului de linii afişate pe monitor;
5.2.7. FUNCŢII DE CONTROL A VARIABILELOR DIN MEMORIE disp clear pack size length
- afişează o matrice sau un text; - ştrege variabile şi funcţii ; - compactează datele din memorie; - returnează dimensiunea unei matrice; - returnează lungimea unui vector;
5.2.8. VARIBILE SPECIALE ŞI CONSTANTE ÎN MATLAB MATLAB lucrează cu câteva constante şi variabile speciale. Acestea nu pot fi declarate şi sunt accesibile global în orice fişier M. Variabilele şi constantele speciale sunt ; ans - această variabilă se creează automat pentru memorarea rezultatului unui calcul, atunci când nu se precizează altă variabilă; eps - variabilă permanentă în care este memorată eroarea relativă pentru calculele efectuate în virgulă mobilă. Valoarea implicită este eps=2,2204e016, dar poate fi redefinită la orice altă valoare; pi - varibilă permanentă care are valoarea implicită 3,14159265358; i - variabilă folosită pentru introducerea numerelor complexe. Orice altă variabilă iniţializată cu sqrt(-1) poate fi folosită ca unitate imaginară; inf - variabilă folosită pentru reprezentarea lui plus infinit în aritmetica IEEE, rezultat al împărţirii 1/0; nan - variabilă folosită pentru reprezentarea lui Not-A-Number (NAN), în aritmetica IEEE, rezultat al împărţirii nedefinite 0/0; nargin - variabilă permanentă pentru testarea numărului argumentelor de intrare ce trebuie introduse pentru apelarea unei funcţii; nargout - variabilă permanentă pentru testarea numărului argumentelor de ieşire ale unei funcţii; flops - returnează nuărul de operaţii în virgulă mobilă efectuate de calculator. Adunările şi scăderile sunt contorizate fiecare câte o operaţie, dacă se efectuează între numere reale, şi două operaţii dacă se efectuează între valori complexe. Înmulţirile şi împărţirile sunt fiecare câte o operaţie dacă rezultatul este real şi 6 operaţii dacă rezultatul este complex. Aducearea la zero a contorului se realizează cu instrucţiunea flops(0); computer - variabilă folosită pentru obţinerea informaţiilor referitoare la tipul -90-
Modelarea şi Simularea Sistemelor de Producţie
realmax realmin isieee version, ver
calculatorului şi numărul maxim de elemente pe care le poate gestiona versiunea respectivă de MATLAB. Cu instrucţiunea : [calculator, elemente]=computer se obţine: calculator = PCWIN elemente = 2.1475e+009 - reprezintă cea mai mare valoare pozitivă în virgulă mobilă care poate fi folosită în calcule, respectiv 1.7977e+308; - reprezintă cea mai mică valoare pozitivă în virgulă mobilă care poate fi folosită în calcule, respectiv 2.2251e-308; - funcţie care returnează 1 dacă calculatorul lucrează cu aritmetică IEEE şi 0 în caz contrar; - funcţii pentru detreminarea versiunii MATLAB şi a toolbox-urilor instalate pe calculator;
5.2.9. IMPORTUL ŞI EXPORTUL FIŞIERELOR DE DATE ÎN MATLAB Funcţiile load şi save sunt comenzi MATLAB de încărcare şi salvare a fişierelor de pe (pe) discul curent : load - încarcă variabilele dintr-un fişier de date de pe disc; save - salvează variabilele într-un fişier de date pe disc; Încarcarea unui fişier de date se face cu functie load şi se apelează cu sintaxa: load nume_fişier – format _date unde „nume_fişier” este numele fişierului care se doreşte încărcat, iar „format_date” este formatul datelor (ASCII sau BINAR) din acel fişier. Funcţia load se utilizează pentru : - încărcarea datelor din fişierul MATLAB.mat; - încărcarea datelor din fişiere în format binar , fără extensie sau cu extensie *.mat; - încărcarea datelor din fişiere în format ascii , fără extensie sau cu extensie; În toate cazurile, datele încărcate trebuie să fie tablouri complete. După încărcare datele se regăsesc în memoria calculatorului cu numele pe care l-a avut fişierul de date (fără extensie), indiferent de forma în care fuseseră stocate anterior. Dăcă fişierul nu are extensie, se foloseşte instrucţiunea: load nume_fişier - ascii Salvarea variabilelor în spaţiul de lucru foloseşte funcţia save şi se apelează cu sintaxa: save nume_fişier nume_variabile – format_date -91-
MATLAB sub Windows
unde „nume_fişier” este numele fişierului în care se salvează variabilele „nume_variabile”, în formatul „format_date” (ASCII sau BINAR). Funcţia save se utilizează pentru : -
salvarea în format binar a tuturor variabilelor din spaţiul de lucru, în fişierul nume_fişier.mat cu sintaxa save nume_fişier; salvarea în format binar a variabilelor var1 var2 var3 din spaţiul de lucru, în fişierul nume_fişier.mat cu sintaxa save nume_fişier var1 var2 var3; salvarea în format ascii (cu 8 digiţi) a variabilelor var1 var2 var3 din spaţiul de lucru, în fişierul nume_fişier.ext cu sintaxa: save nume_fişie.extr var1 var2 var3 - ascii; salvarea în format ascii (cu 16 digiţi) a variabilelor var1 var2 var3 din spaţiul de lucru, în fişierul nume_fişier.ext cu sintaxa: save nume_fişie.extr var1 var2 var3 – ascii – double; salvarea în format ascii (cu 16 digiţi) a variabilelor var1 var2 var3 din spaţiul de lucru, cu separarea datelor prin TAB-uri, în fişierul nume_fişier.ext cu sintaxa: save nume_fişie.extr var1 var2 var3 – ascii –double -tabs;
5.2.10. INSTRUCŢIUNI ŞI FUNCŢII DE CONTROL ÎN MATLAB Instrucţiunile de control logic în MATLAB sunt: if else elseif for while break return error end -
instrucţiune pentru execuţia conditionată; instrucţiune asociată cu „if”; instrucţiune asociată cu „if”; instrucţiune pentru crearea ciclurilor cu număr specificat de paşi; instrucţiune pentru crearea ciclurilor cu condiţie logică; instrucţiune pentru terminarea forţată într-un ciclu; returnează execuţia la funcţia precizată; instrucţiune pentru afişarea unui mesaj de eroare; instrucţiune pentru încheierea ciclurilor ”for”, ”while” şi ”if”.
Programele MATLAB sunt scrise pentru a realiza numai paşi secvenţiali, operaţiile fiind realizate una după alta. În multe cazuri, însă este necesară repetarea unui set de instrucţiuni atâta timp cât o condiţie este realizată şi a altui set de instrucţiuni, dacă condiţia nu mai este realizată. Alteori, este necesară repetarea unui grup de instrucţiuni de un anumit număr de ori. MATLAB pune la dispoziţia programatorului două instrucţiuni, for şi while , cu ajutorul cărora un grup de instrucţiuni, numit corpul ciclului, se poate repeta de mai multe ori. Instrucţiunea for este utilizată pentru repetarea unui set de instrucţiuni de un anumit număr de ori, cunoscut iniţial. Un contor de ciclu ţine evidenţa numărului de repetări ale instrucţiunilor din corpul ciclului şi opreşte ciclul când contorul ajunge la valoarea precizată. Instrucţiunea while este folosită atunci când calculele efectuate cu un grup de instrucţiuni trebuie repetate până când o anumită condiţie este îndeplinită. Numărul de iteraţii nu este cunoscut iniţial. Ieşirea din ciclu se realizează la îndeplinirea condiţiei impuse, care este testată la începutul fiecărei iteraţii. -92-
Modelarea şi Simularea Sistemelor de Producţie
În cadrul unui algoritm este deseori necesara o selecţie a grupului de instrucţiuni ce urmează a fi executate, condiţionată de valoarea de adevăr a unei expresii. Instrucţiunile condiţionale utilizează operatori relaţionali şi operatori logici. MATLAB-ul are şase operatori relaţionali, care sunt utilizaţi pentru a compara două matrice de dimensiuni egale, şi anume: Operatorii relaţionali < <= > >= == ~=
Semnificaţia mai mic mai mic sau egal mai mare mai mare sau egal identic diferit
Operatorii relaţionali compară două matrice sau două expresii matriceale, element cu element. Aceştia returnează o matrice de aceeaşi dimensiune cu a matricelor care se compară, cu elemente 1 când relaţia este ADEVĂRATĂ şi cu elemente 0 când relaţia este FALSĂ. Primii patru operatori compară numai partea reală a operanzilor (partea imaginară este ignorată), iar ultimii doi operatori (= = şi ~ =) tratează atât partea reală cât şi cea imaginară. Forma generală de utilizare rezultat = expresie_1 operator_relaţional expresie_2 unde - este o matrice de elemente 0 şi 1, în care sunt returnate rezultatele comparaţiei; rezultat expresie_1, expresie_2 - matricele sau expresiile matriceale care se compară; - unul din cei şase operatori relaţionali. operator_relaţional Dacă unul din operanzi este un scalar şi celălalt o matrice, scalarul se extinde până la dimensiunea matricei. Pentru combinarea a două sau mai multe expresii logice se utilizează operatorii logici. Operatori logici NU ŞI SAU
Simbol MATLAB ~ & |
Prioritatea 1 2 3
Operatorii logici au prioritate mai mică decat operatorii relaţionali şi aritmetici. Astfel, se evaluează întâi expresiile care conţin operatori relaţionali şi aritmetici, şi apoi cele cu operatori logici. Funcţiile de control logic folosite în MATLAB sunt: exist - verifică dacă variabilele sau funcţiile argument sunt definite; any - testează dacă cel puţin un element al unei matrice verifică o condiţie logică; all - testează dacă toate elementele unei matrice verifică o condiţie logică; -93-
MATLAB sub Windows
find isnan isinf finite -
5.3.
returnează indicii elementelor diferite de zero; testează dacă elementele unei matrice sunt NaN; testează dacă elementele unei matrice sunt infinite; testează dacă elementele unei matrice sunt finite;
INTRODUCERE ÎN PROGRAMAREA MATLAB 5.3.1. MATRICE, VECTORI ŞI SCALARI
MATLAB-ul este un pachet de programe care lucrează numai cu un singur tip de obiecte, matrice numerice rectangulare, având elemente reale sau complexe. În acest sens scalarii sunt asimilaţi matricelor cu o linie şi o coloană (1x1), iar vectorii sunt asimilaţi matricelor cu o linie (1xn) sau o coloană (nx1). Operaţiile şi comenzile în MATLAB sunt aporape naturale, în sens matriceal, asemănător modului de calcul obişnuit. Funcţiile folosite pentru generarea vectorilor şi a matricelor uzuale sunt: zeros
generează matricea nulă;
ones
generează matricea unitate;
eye
generează matricea identică;
rand
generează numere aleatoare cu distribuţie uniformă;
randn
generează numere aleatoare cu distribuţie normală;
linspace
generează un vector cu pas liniar;
logspace
genereaza un vector cu pas logaritmic;
meshgrid
generează o matrice a reţelei în planul X-Y;
:
generează un vector cu pas constant;
Scrierea matricilor în MATLAB se poate face în diverse variante: •
prin scrierea explicită a termenilor acesteia;
•
prin încărcarea matricelor ca fişiere externe de date;
•
prin generarea acestora cu ajutorul unor funcţii;
•
prin crearea lor cu ajutorul propriilor tale funcţii scrise ca fişiere m-files.
Pentru a scrie o matrice în MATLAB, trebuiesc respectate câteva reguli de bază: !" separaţi elementele dintr-un rând prin spaţii între ele. !" pentru a indica terminarea unui rând trebuie să folosiţi semnul ";". -94-
Modelarea şi Simularea Sistemelor de Producţie
!" întreaga listă de elemente trebuie să fie cuprinsă între paranteze drepte, [ ]. Scrierea unei matrici se poate face astfel: A=[12 23 34 45; 56 67 78 89; 1 3 5 7; 9 11 13 15] MATLAB va afişa matricea astfel scrisă în forma : A= 12 56 1 9
23 67 3 11
34 78 5 13
45 89 7 15
Matricea odată scrisă este în mod automat memorată în spaţiul de lucru al MATLAB-ului. Pentru a calcula suma elementelor matricei A deja scrise, este de ajuns a scrie: sum(A) iar răspunsul în spaţiul MATLAB este ans = 78 104 130 156 Atunci când nu se specifică o variabilă de ieşire, MATLAB foloseşte variabila "ans", denumirea prescurtată a lui answer, pentru a memora rezultatul calculat. MATLAB lucrează cu coloanele matricei, iar modul cel mai simplu de a calcula suma pe rânduri este de a transpune matricea, se face calculul sumei coloanelor pentru matricea transpusă şi apoi se transpune rezultatul. Pentru operaţia de transpunere se utilizează semnul apostrof simplu " ' " şi deci pentru a calcula transpusa matricei A în MATLAB scriem A', ceea ce duce la obţinerea matricei: ans =
iar
sum(A')
12
56
1
9
23
67
3
11
34
78
5
13
45
89
7
15
este un vector coloană ce conţine suma pe fiecare rând în parte, adică
ans = 114 290
16
48
Suma elementelor de pe diagonala principală este uşor de obţinut utilizând funcţia diag diag(A) duce la obţinerea ans = -95-
MATLAB sub Windows
12 67 5 15 şi sum(diag(A)) ans = 99 Elementul din rândul i şi coloana j a matricei A este notat convenţional A(i,j). De exemplu, A(4,2) este numărul din rândul 4 coloana 2. Pentru matricea noastră, A(4,2) are valoarea 11. Se poate calcula suma elementelor în coloana patru a matricei A scriind: A(1,4) + A(2,4) + A(3,4) + A(4,4) rezultă ans = 156 dar nu este modul cel mai elegant de a calcula suma unei coloane. 5.3.2. ELEMENTELE MATRICELOR Elementele matricelor pot fi numere reale sau complexe, precum şi orice expresie MATLAB. Elementele unei matrice pot fi referite cu indici cuprinşi între paranteze rotunde „( )”, iar pentru matricea noastră: A=[ 12 23 34 45; 56 67 78 89; 1 3 5 7; 9 11 13 15] ca în exemplul de mai jos: x=A(3,4) care returnează : x=7 De remarcat că dacă se atribuie o valoare unui element care ocupă o poziţie în afara dimensiunii maxime a matricei sau vectorului referit, dimensiunea acestuia este mărită automat până la valoarea indicelui noului element, iar elementele nedefinite sunt setate la valoarea zero. În acest sens instrucţiunea MATLAB: A(5,5)=(A(1,1)^2) returnează A= 12
23
34
45
0 -96-
Modelarea şi Simularea Sistemelor de Producţie
56
67
78
89
0
1
3
5
7
0
9
11
13
15
0
0
0
0
0 144
Matricele mari se pot construi prin utilizarea matricelor mici. Spre exemplu, din două matrice 2x2 se poate construi o matrice 4x2, dimensiunile matricelor utilizate trebuie să fie astfel alese încât să realizeze tablouri rectangulare complete. Fie matricea B şi C cele două matrice utilizate, definite astfel: B=[ 2 3 ; 51 7] C=[ 4 67 ; 11 15] şi deci matricea D , dată în forma D=[B ; C] va avea forma D= 2
3
51
7
4
67
11 15 O matrice mai mică poate fi extrasă dintr-o matrice mare utilizând semnul „ : ” (două puncte). De exemplu : E=D(2:3,:) Extrage liniile 2 şi 3 şi toate coloanele din matricea curentă D, obţinându-se matricea E: E= 51
7
4
67
Pentru extragerea vectorilor cu elemente decupate din alţi vectori, se folosesc formele: j:k j:i:k
- selectează elementele [j, j+1, … , k] ale unui vector; dacă j>k vectorul rezultat este gol; - selectează elementele [j, j+i, j+2i, … k] ale unui vector; dacă j>k vectorul rezultat este gol dacă i>0 şi j>k sau dacă i<0 şi j
În cazul selectării liniilor sau coloanelor matricelor, se folosesc formele: A(:,j) A(i,:)
- selectează coloana j a matricei A; - selectează linia i a matricei A; -97-
MATLAB sub Windows
A(:,:) A(j:k) A(:,j:k) A(:)
- selectează întreaga matrice A; - selectează elementele A(j), A(j+1), …, A(k) ale vectorului A; Selectează toate liniile şi coloanele de la j la k, A(:,j), A(:,j+1), …, A(:,k), ale matricei A; Selectează toate elementele matricei A, privită ca o singură coloană, începând cu prima;
O matrice poate fi definită pe baza altor matrici de dimensiuni inferioare, ca în exemplul de mai jos: C=[A eye(4); ones(size(A)) A^2] Matricea C este compusă din matricea A de dimensiunea 4x4, matricea identitate 4x4, matricea unitate de dimensiunile matricei A şi matricea A ridicată la pătrat. Fiecare element al matricei C are expresia : A= 12 23 34 45 56 67 78 89 1 3 5 7 9 11 13 15 eye(4) = 1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 ones(size(A)) = 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A^2 = 1871 2414 2957 3500 5303 6990 8677 10364 248 316 384 452 872 1148 1424 1700 cu secvenţa MATLAB se obţine matricea C în forma C= 12 23 34 45 56 67 78 89 1 3 5 7 9 11 13 15 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
-98-
1 0 0 0 1871 5303 248 872
0 1 0 0 2414 6990 316 1148
0 0 1 0 2957 8677 384 1424
0 0 0 1 3500 10364 452 1700
Modelarea şi Simularea Sistemelor de Producţie
5.3.3. NUMERE ŞI EXPRESII ARITMETICE MATLAB-ul utilizează pentru reprezentarea numerelor notaţia zecimală convenţională, cu punct zecimal. Puterea este un factor de scală inclus ca sufix, ca şi în notaţia ştiinţifică. Exemple de reprezentări de numere în MATLAB, sunt: 3
-99
0.0001
9.6397238
1.60210E-20
6.02252e23
Calculatoarele care utilizează aritmetica în virgulă mobilă au precizia relativă a numerelor “eps”, aproximată cu 16 digiţi semnificativi. Limitele numerelor folosite în MATLAB sunt: 10-308 şi 10308. MATLAB-ul utilizează următorii operatori aritmetici: +
adunarea
-
scăderea
*
înmulţirea
/
împărţirea la dreapta
\
împărţirea la stânga
^
ridicarea la putere
Există două simboluri pentru împărţire, utilizate în mod special pentru operaţiile cu matrice. Pentru expresiile scalare 1 /4 şi 4\1 se obţine acelaşi rezultat (0.25). Într-o expresie, parantezele sunt utilizate pentru a preciza ordinea executării operaţiilor. Calculele aritmetice asupra tablourilor de date în MATLAB pot fi: • operaţii după regulile calculului matriceal – operaţii cu matrice; • operaţii după regulile calculului scalar – operaţii cu tablouri. Operatorii folosiţi în calculele aritmetice cu tablouri şi matrice sunt prezentaţi în tabelul de mai jos: Operaţia Scalari Matrice Tablouri Adunarea + + + Scăderea Înmulţirea * * .* Împărţirea la stânga \ \ .\ Împărţirea la dreapta / / ./ Ridicarea la putere ^ ^ .^ Transpunerea ‘ ‘ .’ Operaţiile aritmetice între doi scalari sunt prezentate în tabelul de mai jos: -99-
MATLAB sub Windows
Operaţia Forma algebrică Adunarea a+b Scăderea a-b Înmulţirea axb Împărţirea la dreapta a:b Împărţirea la stânga b:a Ridicarea la putere ab
Forma MATLAB A+b a-b a*b a/b a\b a^b
Expresiile aritmetice pot fi evaluate şi rezultatul memorat în variabile specificate. Astfel, instrucţiunea: x=a+b atribuie variabilei x, suma dintre variabilele a şi b. Instrucţiunea: k=k+1 atribuie variabilei „k „o nouă valoare, egală cu suma dintre vechea valoare şi constanta 1. În urma instrucţiunilor succesive: a=1 a=2.5 în variabila „a” se află valoarea 2.5. O valoare introdusă fără nominalizare este asignată variabilei ans (answer). În variabila „ans” este memorată în permanenţă valoarea ultimei variabile căreia nu i s-a atribuit un nume. Ordinea operaţiilor în MATLAB, este aceeaşi cu cea a operaţiilor aritmetice standard, cunoscută în matematica elementară. Ordinea 1 2 3 4
Operatia Parantezele Ridicarea la putere Înmulţirea şi împărţirea Adunarea şi scăderea
5.3.4. OPERAŢII ARITMETICE CU TABLOURI Operaţiile cu tablouri sunt operaţii aritmetice (înmulţire, împărţire, ridicare la putere etc) între elementele situate în aceeaşi poziţie a tablourilor, cunoscute sub numele de operaţii element cu element. Pentru a preciza că înmulţirea se efectuează element cu element între componentele a două matrice de aceleaşi dimensiuni, se utilizează operatorul de înmulţire precedat de punct (.*), adică: C=A.*B Pentru efectuarea operaţiilor cu tablouri se folosesc aceeaşi operatori ca în operaţiile cu scalari, precedaţi de semnul punct “.”, semn ce indică efectuarea operaţiilor în ordinea elemet cu element. Dacă unul dintre operanzi este un scalar, acesta operează cu fiecare element al tabloului. -100-
Modelarea şi Simularea Sistemelor de Producţie
Adunarea şi scăderea. Exemplu. Fie A=[1 2 3], B=[ 4 5 6], m=3. Să se calculeze : C=A-B, D= A-m şi E=p-B. Cu secvenţa MATLAB : » A=[1 2 3]; B=[4 5 6]; m=3; » C=A-B » D=A-m » E=m-B se obţin rezultatele C =[ -3 -3 -3] D =[ -2 -1 0] E = [ -1 -2 -3] Înmulţirea tablourilor.Exemplu. Fie A=[1 2 3], B=[ 4 5 6], m=3. Să se calculeze : C=A.*B, D= A.*m şi E=p.*B. Cu secvenţa MATLAB : » A=[1 2 3]; B=[4 5 6]; m=3; » F=A.*B » G=A.*m » H=m.*B se obţin rezultatele F =[ G =[ H =[
4 10 18] 3 6 9] 12 15 18]
Împărţirea la dreapta. Operaţia de împărţire la dreapta, element cu element, între două tablouri, este simbolizată cu operatorul punct – slash „ ./ ”. Instrucţiunea MATLAB : Z = X./Y reprezintă împărţirea element cu element a tablourilor X şi Y, rezultând elementele: Z(i,j)=X(i,j)/Y(i,j) Prin urmare: Z = X.\Y = Y./X Exemplu. Fie A=[1 2 3], B=[ 4 5 6], m=3. Să se calculeze : C=A.\B, D= A.\m şi E=p.\B. Cu secvenţa MATLAB : » A=[1 2 3]; B=[4 5 6]; m=3; » C=A.\B » D=A.\m » E=m.\B se obţin rezultatele C =[ 4.0000 2.5000 2.0000] D =[ 3.0000 1.5000 1.0000] E =[ 1.3333 1.6667 2.0000] -101-
MATLAB sub Windows
Ridicarea la putere. Operaţia de ridicare la putere element cu element într-un tablou este simbolizată cu operatorul punct-^ „ .^ ”. Următoarea instrucţiune: Z=X.^Y reprezintă ridicarea fiecărui element din tabloul X la puterea indicată de valoarea elementului din aceeaşi poziţie a tabloului Y, adică: Z(i,j) = X(i,j)^Y(i,j) Dacă X este un scalar, se lasă un blanc între scalar şi operatorul de ridicare la putere “.^” , pentru a nu interpreta punctul care indică operarea cu tablouri de elemente ca punctul zecimal. Exemplu. Fie A=[1 2 3], B=[ 4 5 6], m=3. Să se calculeze : C=A.^B, D= A.^m şi E=p.^B. Cu secvenţa MATLAB : » A=[1 2 3]; B=[4 5 6]; m=3; » F=A.^B » G=A.^m » H=m.^B se obţin rezultatele F =[ G =[ H =[
1 32 729] 1 8 27] 81 243 729]
Transpunerea tablourilor. Operaţia de transpunere a unui tablou este simbolizată de operatorul punct – apostrof, „ .’ „. Cu instrucţiunea: Z=Y.’ Liniile tabloului Y devin coloanele tabloului transpus Z. Acest lucru face ca un tablou Y cu dimensiunea m x n să devină un tablou Z cu dimensiunea n x m. Exemplu. Fie A=[1 2 3; 4 5 6; 7 8 9]. Să se determine transpusa tabloului. Cu secvenţa MATLAB : » A=[1 2 3; 4 5 6; 7 8 9] A= 1 4 7 » B=A.'
2 5 8
3 6 9
4 5 6
7 8 9
B= 1 2 3
5.3.5. OPERAŢII ARITMETICE CU VECTORI -102-
Modelarea şi Simularea Sistemelor de Producţie
Produsul scalar. Produsul scalar a doi vectori de aceeaşi dimensiune este un scalar, egal cu suma produselor corespunzătoare aceloraşi poziţii: ! ! N c = a ⋅ b = ∑ a(i) ⋅ b(i) i =1
! ! Produsul scalar a doi vectori, a şi b , se calculează cu instrucţiunea: c = sum (a.*b) Dacă „a” este de dimensiunea 1xN şi „b” de dimensiunea Nx1, atunci sunt posibile următoarele expresii pentru calculul produsului scalar: e = sum(a’.*b)
f = sum(a.*b’)
Cosinusul unghiului vectorilor: ! ! ! ! a = ax i + a y j + az k ! ! ! ! b = bx i + by j + bz k se calculează cu relaţia: ! ! ! ! ax bx + a y by + az bz a ⋅b cos a, b = = 2 a⋅b ax + a 2y + az2 bx2 + by2 + bz2
( )
unde |a| şi |b| sunt lungimile, normă sau modulul. Dacă produsul scalar este nul, cei doi vectori sunt ortogonali. Exemplu. Să se calculeze produsul scalar şi unghiul dintre vectorii ! ! ! ! a = 3i + 4 j + 5k ! ! ! ! b = 7 i + 8 j + 9k Cu secvenţa MATLAB: » a=[3 4 5], b=[7 8 9] » ab=sum(a.*b) ab = 98 » mod_a=norm(a) mod_a = 7.0711 » mod_b=norm(b) mod_b = 13.9284 » alfa=acos(ab/(mod_a*mod_b))*180/pi alfa = 5.7094 grade ! ! Produsul vectorial. Produsul vectorial a doi vectori a şi b : -103-
MATLAB sub Windows
! i ! ! ! c = a × b = ax bx
! j ay by
! k az bz
este un vector perpendicular pe planul celor doi vectori. Modulul produsului vectorial este: ! ! c = a ⋅ b ⋅ sin a, b
( )
Exemplu. Să se calculeze produsul vectorial dintre vectorii ! ! ! ! a = 3i + 4 j + 5k ! ! ! ! b = 7 i + 8 j + 9k Cu secvenţa MATLAB: » a=[3 4 5], b=[7 8 9] » c=a’*b Se obţine ca rezultat matricea c, cu dimensiunea 3x3. c= 21 24 27 28 32 36 35 40 45 Componentele c(i,j) au următoarea semnificaţie: pentru i ≠ j , reprezintă un vector orientat după versorul menţionat la poziţia respectivă a #" matricei c; pentru i=j , reprezintă o componentă a produsului scalar; #" ! Vectorul rezultant c are componentele: cx = c(2,3) - c(3,2) cy = c(3,1) - c(1,3) cz = c(1,2) - c(2,1) adică cx = -4 cy = 8 cz = -4 c = [-4 8 -4]; produsul vectorial; ! ! Suma elementelor diagonalei principale constituie produsul scalar al vectorilor a şi b şi se calculează cu instrucţiunea MATLAB: ps = sum(diag(c)); produsul scalar ps = 98 Prin urmare, produsul a doi vectori este: • un scalar, dacă operaţia este un produs scalar; -104-
Modelarea şi Simularea Sistemelor de Producţie
•
o matrice, dacă operaţia este un produs vectorial. 5.3.6. OPERAŢII ARITMETICE CU MATRICE
Operaţiile uzuale de algebră liniară cu matrice sunt simbolizate cu semnele grafice: *, /, \, ^, `, şi se efectuează după regulile cunoscute din calculul matriceal. Adunarea şi scăderea. plus (+). Instrucţiunea:
Operaţia de adunare a două matrice este simbolizată cu operatorul
A=B+C Reprezintă adunarea matricelor B şi C, rezultând elementele: A(i,j)=B(i,j)+C(i,j) Matricele B şi C trebuie să aibă aceleaşi dimensiuni, în afara cazului când B sau C este un scalar. Un scalar „m” poate fi adunat cu orice matrice, rezultând elementele: A(i,j)= m+B(i,j) Operaţia de scădere a două matrice este simbolizată cu operatorul minus ( - ). Instrucţiunea: A=B-C Reprezintă scăderea matricei C din B, rezultând elementele: A(i,j)=B(i,j)-C(i,j) Matricele B şi C trebuie să aibă aceleaşi dimensiuni, în afara cazului când B sau C este un scalar. Un scalar „m” poate opera cu orice matrice, rezultând elementele: A(i,j)= B(i,j) – m
sau
A(i,j)= m - B(i,j)
2 7 3 1 Exemplu. Fie A = , B= , m = 3. Să se calculeze A+B, A-B, A+m. 1 3 5 4 Cu secvenţa MATLAB: A=[3 1; 5 4]; B=[2 7; 1 3]; m=3; Sum1=A+B Sum2=A-B Sum3=A+m se obţin următoarele rezultate Sum1 = Sum2 = Sum3 =
5 8 6 7 1 -6 4 1 6
4 -105-
MATLAB sub Windows
8
7
Înmulţirea matricelor. Operaţia de înmulţire a două matrice este simbolizată cu operatorul steluţă ( * ). Următoarea instrucţiune: A=B*C Reprezintă matricea produs având elementele: A(i, j ) = ∑ B(i, k ) ⋅ C (k , j ) k
produsul matriceal este posibil dacă numărul coloanelor matricei B este egal cu numărul liniilor matricei C, elementul A(i,j) fiind suma produselor dintre elementele liniei „i” cu elementele corespondente din coloana „j”. Produsul matrice – vector este un caz special al cazului general al produsului matrice – matrice. De asemenea, un scalar poate fi înmulţit cu orice matrice, realizându-se înmulţirea cu fiecare element al matricei: A(i,j)=m*B(i,j) 3 1 2 7 Exemplu. Fie A = , B= , m = 3. Să se calculeze A*B, A*m. 5 4 1 3 Cu secvenţa MATLAB: A=[3 1; 5 4]; B=[2 7; 1 3]; m=3; Prod1=A*B Prod2=A*m se obţin următoarele rezultate Prod1 =
7 24 14 47
Prod2 =
9 15
3 12
Împărţirea la dreapta. Operaţia de împărţire la dreapta a două matrice este simbolizată cu operatorul slash ( / ). Următoarea instrucţiune: A=B/C Reprezintă împărţirea la dreapta a matricelor B şi C , şi este identică cu B*C-1 (C-1 este inversa matricei C). Dacă D este o matrice n x n, iar E este un vector coloană cu n componente, atunci X=D\E este soluţia sistemului de ecuaţii DX=E, obţinută prin eliminarea Gauss. Dacă unul dintre operanzi este scalar, operaţia nu este posibilă. 2 7 3 1 Exemplu. Fie A = , B= , m = 3. Să se calculeze A/B. 1 3 5 4 Cu secvenţa MATLAB: -106-
Modelarea şi Simularea Sistemelor de Producţie
A=[3 1; 5 4]; B=[2 7; 1 3]; C=A/B se obţine următorul rezultat C = -8.0000 19.0000 -11.0000 27.0000 Ridicarea la putere. Operaţia de ridicare la putere a unei matrice este simbolizată cu operatorul ( ^ ). Următoarea instrucţiune: X = Y^q Reprezintă ridicarea la puterea „q” a matricei Y. Expresia Y^q are sens doar pentru Y matrice pătrată şi „q” scalar. Dacă „q” este un întreg pozitiv, ridicarea la putere este obţinută prin înmulţiri repetate: X = Yq =Y*Y*Y*Y*…*Y, ∀ q>0 iar dacă „q” este un întreg negativ, Y este mai întâi inversată şi apoi se înmulţesc inversele de „q” ori: X = Yq= inv(Y)*inv(Y)*…*inv(Y),
∀ q<0
3 1 Exemplu. Fie Y = , q = 2. Să se calculeze Yq. 5 4 Cu secvenţa MATLAB: Y=[3 1; 5 4]; q=2; X=Y^q se obţine următorul rezultat X = 14 7 35 21 Transpunerea matricelor. Operaţia de transpunere a unei matrice este simbolizată cu operatorul apostrof ( ` ). Cu instrucţiunea: Z=Y’ Liniile matricei Y devin coloanele matricei transpuse Z. Acest lucru face ca pentru o matrice Y cu dimensiunea m x n , să se obţină o matrice Z cu dimensiunea n x m. Dacă elementele matricei Y sunt numere reale, operaţia de transpunere face ca: Z(i,j)=Y(j,i). Dacă elementele matricei Y sunt numere complexe, operaţia de transpunere returnează conjugata transpusei, adică: Z(i,j)=conj(Y(j,i))=real(Y(j,i)) -i*imag(Y(i,j)) -107-
MATLAB sub Windows
3 1+ i Exemplu. Fie Y = . Să se calculeze Y’. 5i 4 − 3i Cu secvenţa MATLAB: Y=[3 1+i; 5i 4-3i]; Z=Y’ se obţin următorul rezultat Z = 3.0000
0 - 5.0000i
1.0000 - 1.0000i 4.0000 + 3.0000
5.3.7. DECLARAŢII ŞI VARIABILE Expresiile tipărite de utilizator sunt intrepretate şi evaluate. Instruncţiunile MATLAB sunt în general de forma: variabila= expresie Expresiile sunt compuse din operatori sau alte caractere speciale, din funcţii şi nume de variabile. Orice instrucţiune este în mod automat terminată cu „Enter”. Dacă ultimul caracter al acesteia este „ ; ” (punct şi virgulă), instrucţiunea este executată, dar tipărirea este suprimată. Utilizarea acestui caracter la sfârşitul unei instrucţiuni în fişiere de tip m este necesară în situaţiile în care nu se doreşte afişarea datelor intermediare. Tastarea numelui unei variabile urmată de „Enter” afişează valoarea acestuia. Dacă expresia este lungă astfel încât declaraţia nu încape pe o singură linie, se utilizează semnul „ …” (trei puncte), urmat de „Enter”, pentru a preciza că instrucţiunea continuă pe linia următoare. De exemplu : L=B+C+… 2*B; evaluează suma celor trei matrici şi o atribuie variabilei L. Spaţiile dintre numere şi semnele „=”, „+” , „-” sunt opţionale. Numele de variabile şi funcţii au ca prim caracter o literă, urmată de litere, cifre sau caracterul „liniuţă de subliniere” (adică „ _ ”). MATLAB-ul reţine ca nume de variabilă numai primele 19 caractere, făcând deosebirea între literele mari şi mici (la lansare MATLAB este în modul senzitiv). Funcţia „casesen” permite trecerea MATLAB-ului în modul senzitiv/nesenzitiv, în vederea separării literelor mari de cele mici. Numele de funcţii este obligatoriu să fie scrise cu litere mici.
-108-
Modelarea şi Simularea Sistemelor de Producţie
5.4.
INTEGRAREA ŞI DERIVAREA NUMERICĂ A FUNCŢIILOR
Integrarea şi derivarea sunt concepte fundamentale în rezolvarea unui mare număr de probleme în inginerie. În multe situaţii nu pot fi obţinute soluţii analitice, fiind necesară aplicarea metodelor de integrare şi derivare numerică. Funcţiile MATLAB pentru integrarea numerică sunt: quad Quad8 trapz
calculează integrala prin metoda adaptiv-recursivă Simpson; calculează integrala prin metoda adaptiv-recursivă Newton Cotes de ordinul 8; calculează integrala prin metoda trapezelor.
Funcţiile quad şi quad8 sunt funcţii de integrare numerică (cuadratură) şi se apelează cu una dintre sintaxele : quad(‚f’,a,b) quad(‚f’,a,b,tol) quad(‚f’,a,b,tol,trace)
quad8(‚f’,a,b) quad8(‚f’,a,b,tol) quad8(‚f’,a,b,tol,trace)
unde : f a, b tol trace
– este numele unui fişier funcţie care descrie funcţia f(x); - sunt limitele de integrare; - este eroarea relativă admisă dintre doi paşi consecutivi; - controlează afişarea pe ecran a valorilor intermediare;
Funcţiile quad şi quad8 au acelaşi format de apelare. Dacă ele sunt apelate cu parametrul „tol” , integrarea funcţiei continuă să se rafineze până când eroarea relativă a estimării este mai mică decât toleranţa. Dacă toleranţa este omisă, valoarea implicită este de 10-3. Dacă argumentul opţional „trace” este diferit de zero, se afişează valorile calculate în timpul procesului de calcul. Funcţiile quad şi quad8 se utilizează dacă integrantul este exprimat sub forma unei funcţii analitice. Dacă funcţia de integrat este descrisă prin valori numerice, se aproximează mai întâi acestea printr-o funcţie corespunzătoare şi apoi aceasta va fi scrisă în sintaxa MATLAB, ca fişier M. Funcţia trapz realizează calcul numeric al integralei prin metoda trapezelor. Se apelează cu una dintre sintaxele : z=trapz(x,y)
z=trapz(y)
Apelată cu două argumente, funcţia trapz calculează integrala funcţiei y(x). X este un vector coloană care conţine abscisele, iar y este un vector coloană sau o matrice, cu acelaşi număr de linii ca x, care conţine valorile funcţiei corespunzătoare acelor abscise. Z este un scalar dacă y este un vector sau un vector linie dacă y este o matrice, în care sunt returnate ariile calculate pentru fiecare coloană a lui y. Dacă funcţia trapz este apelată numai cu argumentul y, distanţa dintre două abscise succesive este considerată unu. În acest caz limitele de integrare sunt a=1 şi b=N (unde N reprezintă numărul de elemente ale vectorului y).
-109-
MATLAB sub Windows
Funcţiile MATLAB pentru aproximare numerică a derivatelor, sunt: diff gradient quiver
evaluează diferenţa elementelor succesive ale unui vector sau ale coloanei unei matrice.; aproximează gradientul unei funcţii; reprezintă grafic orientarea unui câmp de vectori.
Funcţia diff se apelează cu una din sintaxele: y=diff(x) Dacă x
y=diff(x,n)
este un vector linie sau coloană : x = x (1) , x ( 2 ) , " , x ( n ) , funcţia diff(x)
returnează vectorul diferenţelor elementelor adiacente, adică x _ derivat = x ( 2 ) − x (1) , x (3 ) − x ( 2 ) , " , x ( n ) − x ( n − 1) Vectorul rezultat x_derivat are cu un element mai puţin decât vectorul x. Dacă x este o matrice, diferenţele se calculează pe fiecare coloană, prin scăderea elementului din linia imediat superioară. Apelată cu argumentul n , funcţia returnează diferenţa de ordinul n a vectorului x. Funcţia diff permite aproximarea derivatei numerice a unei funcţii y(x) cu relaţia dy = diff ( y ). diff ( x ) Exemplul 5.4.1. Dându-se vectorul x=[0 1 2 3 4 5] şi y=[2 6 3 5 9 12] , să se calculeze derivata dy/dx. Scriind instrucţiunile MATLAB : »x=[0 1 2 3 4 5] »y=[2 6 3 5 9 12] »diff(y) ans =[
4 -3
2
4
3]
Exemplul 5.4.2. Dându-se vectorul x=[ 1 7 9 11], să se calculeze derivata dy/dx de ordin 1 şi respectiv cea de ordin 2 d2y/dx2. Scriind instrucţiunile MATLAB : » x=[1 7 9 11] » y=diff(x) » z=diff(y) y =[
6
2
z =[
-4
0]
Exemplul 5.4.3.
2]
Dându-se matricea A, să se calculeze diferenţele de ordinul 1 şi 2 ale ei.
3 7 1 A = 2 4 6 9 8 5 -110-
Modelarea şi Simularea Sistemelor de Producţie
Scriind instrucţiunile MATLAB : » A=[3 7 1; 2 4 6; 9 8 5] A= 3 2 9
7 4 8
1 6 5
» B=diff(A) » C=diff(B) B= -1 7
-3 5 4 -1
8
7 -6
C= Exemplul 5.4.4.
Să se calculeze derivata funcţiei
f ( x ) = x5 − 2 x 4 − 3x3 + 5 x 2 + 3x − 4 pe intervalul [-2, 2], utilizând aproximarea cu diferenţe progresive. De asemenea să se traseze graficul funcţiei şi a derivatei acesteia, identificând şi zerourile derivatei, adică punctele de maxim sau minim local ale funcţiei date. Scriind instrucţiunile MATLAB într-un fişier tip M: %intervalul de incrementare x=-2:0.01:2; %functia data f=x.^5-2*x.^4-3*x.^3+5*x.^2+3*x-4; % derivata de ordin 1 a acesteia df=diff(f)./diff(x); %incrementul xd=x(2:length(x)); %trasarea graficului functiei cu linie albastra plot(x,f,'b-','LineWidth',2) %afisarea caroiajului grid; %trasarea urmatorului grafic pe aceeasi figura hold on
-111-
MATLAB sub Windows
%trasarea graficului derivatei de ordin 1 cu culoarea verde plot(xd,df,'g--','LineWidth',3) produs=df(1:length(df)-1).*df(2:length(df)); %determinarea punctelor critice unde functia schimba de semn punct_critic=xd(find(produs<0)) Rulând programul se obţine figura (vezi figura 5.22) ce conţine graficul funcţiei şi al derivatei acesteia, precum şi vectorul punct_critic cu valorile punctelor de maxim sau minim local.
100
80
60
40
20
0
-20
-40 -2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Figura 5.22 punct_critic =[ -1.1300 -0.2600 1.0800 Exemplul 5.4.5.
1.9100]
Să se reprezinte grafic gradientul unui câmp de vectori asociat funcţiei
z ( x, y ) = x ⋅ e − x
2
− y2
în domeniul x x y =[-3,3]x[-3,3]. Scriind instrucţiunile MATLAB într-un fişier tip M: xp=-3:0.2:3; yp=-3:0.2:3; [x,y]=meshgrid(xp,yp); z=x.*exp(-x.^2-y.^2); [px,py]=gradient(z,0.2,0.2); contour(x,y,z) hold on quiver(x,y,px,py,1.5,'b') -112-
Modelarea şi Simularea Sistemelor de Producţie
se obţine reprezentarea grafică din figura 5.23. 3
2
1
0
-1
-2
-3 -3
-2
-1
0
1
2
3
Figura 5.23 Reprezentarea grafică a gradientului unui câmp de vectori 5.5. INTEGRAREA ŞI DERIVAREA NUMERICĂ A ECUAŢIILOR DIFERENŢIALE Funcţiile MATLAB pentru integrarea numerică a ecuaţiilor diferenţiale de ordinul întâi sunt: ode23 ode45
rezolvă ecuaţii diferenţiale prin metoda Runge-Kutta de ordinul 2/3; rezolvă ecuaţii diferenţiale prin metoda Runge-Kutta de ordinul 4/5.
Alte funcţii utilizate sunt ode113, ode15s, ode23s, ode23t şi ode23tb. Funcţile ode23 şi ode45 se apelează cu una din sintaxele: [t,y]=ode23(’yderiv’,t0,tf,y0) [t,y]=ode45(’yderiv’,t0,tf,y0) [t,y]=ode23(’yderiv’,t0,tf,y0,tol,trace) [t,y]=ode45(’yderiv’,t0,tf,y0,tol,trace) unde yderiv t0 tf y0 tol trace
- este o variabilă şir cu numele unui fişier de tip M , care defineşte derivata funcţiei necunoscute y; - este valoarea iniţială a variabilei t; - este valoarea finală a variabilei t; - este un vector coloană conţinând condiţiile iniţiale; - este precizia dorită a soluţiei (implicit este 10-3 pentru ode23 şi 10-6 pentru ode45 ) ; - este un parametru care asigură tipărirea rezultatelor intermediare (implicit este zero, adică fără tipărire). -113-
MATLAB sub Windows
Numărul de puncte ti aparţinând intervalului [t0, tf], în care funcţiile ode23 şi ode45 returnează valorile yi ale necunoscutei, este un parametru intern al acestora. Funcţiile ode23 şi ode45 apelează la metoda de integrare Runge-Kutta-Fehlberg, cu stabilirea automată a pasului. Funcţiile MATLAB au două argumente de ieşire, valorile variabilei t şi mărimile corespunzătoare ale necunoscutei y, care reprezintă soluţia numerică a ecuaţiei diferenţiale. Exemplul 5.5.1. Să se integreze pe intervalul [2,10], ecuaţia diferenţială y ' = 5⋅t2 cu condiţia iniţială y(2)=0.3. Mai întâi se creează un fişier funcţie cu numele derivata1.m conţinând următoarele instrucţiuni MATLAB: function dy=derivata1(t,y) dy=5*t^2; care se apelează cu secvenţa MATLAB scrisă într-un fişier nou de tip M: [t,yn]=ode23('derivata1',2,10,0.3); ya=t.^3-7.5; plot(t,yn,'*',t,ya);grid 1000 900 800 700 600 500 400 300 200 100 0 2
3
4
5
6
7
8
9
10
Figura 5.24 Exemplul 5.5.2.
Să se integreze pe intervalul [0,5], ecuaţia diferenţială y ' = 2 ⋅ y − e 2⋅t
cu condiţia iniţială y(0)=1. Mai întâi se creează un fişier funcţie cu numele derivata2.m conţinând următoarele instrucţiuni MATLAB: function dy=derivata2(t,y) dy=2*exp(t)-2*exp(2*t); care se apelează cu secvenţa MATLAB scrisă într-un fişier nou de tip M: [t,yn]=ode23('derivata2',0,5,1); ya=2*exp(t)-exp(2*t); plot(t,yn,'*',t,ya);grid -114-
Modelarea şi Simularea Sistemelor de Producţie 4
0.5
x 10
0
-0.5
-1
-1.5
-2
-2.5 0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
5
Figura 5.25 5.6. INTEGRAREA ECUAŢIILOR DIFERENŢIALE DE ORDIN SUPERIOR ŞI A SISTEMELOR DE ECUAŢII DIFERENŢIALE O ecuaţie diferenţială de ordin superior este echivalentă cu un sistem de ecuaţii diferenţiale de ordinul întâi cuplate. Ecuaţia diferenţială de ordinul n
(
n I II n− y ( ) = g x , y , y ( ) , y ( ) ," , y ( ) 1
)
la care se asociază notaţiile y1 ( x ) = y (n −1) n−2 y2 ( x ) = y ( ) # ( II ) yn − 2 ( x ) = y (I ) yn −1 ( x ) = y yn ( x ) = y este echivalentă cu următorul system de n ecuaţii ordinal întâi. y I = y (n ) = g ( x, un , un −1 ," , u1 ) 1 y 2I = y1 # I y n−2 = y (n−3) y nI−1 = y (n−2)
-115-
MATLAB sub Windows
Exemplul 5.6.1.
Fiind dată ecuaţia diferenţială de ordinul doi y II + ( y 2 − 1) ⋅ y I + y = 0
cu condiţiile iniţiale y ( 0 ) = 0.25
y I (0) = 0
să se scrie ecuaţia diferenţială echivalentă şi să se rezolve în MATLAB. Sistemul echivalent al ecuaţiei diferenţiale de mai sus este
(
)
y1I = y1 1 − y22 − y2 y2I = y1 Vom crea un fişier M, numit ec_dif, care va conţine cele două ecuaţii diferenţiale function y_I=ec_dif(x,y) y_I=zeros(2,1); y_I(1)=y(1).*(1-y(2).^2)-y(2); y_I(2)=y(1); Pentru integrarea sistemului de ecuaţii diferenţiale de ordinul întâi, pe intervalul [0, 30], vom scrie un fişier tip M, cu următoarele instrucţiuni MATLAB: t0=0; tf=30; x0=[0 0.25];%conditii initiale [t,x]=ode23('ec_dif',t0,tf,x0); plot(t,x(:,1),'--r',t,x(:,2),':g’); grid obţinându-se graficele prezentate în figura 5.26, y(x) (cu linie continuă) şi yI(x) (cu linie întreruptă). 3
2
1
0
-1
-2
-3 0
5
10
15
Figura 5.26 -116-
20
25
30
Modelarea şi Simularea Sistemelor de Producţie
Exemplul 5.6.2.
Fiind dată ecuaţia diferenţială de ordinul cinci y (V ) = 0
pe intervalul [0, 2], cu condiţiile iniţiale I y ( 0 ) = 1 y ( ) (0) = 0
y(
III )
(0 ) = 0
y(
IV )
II y ( ) (0) = −1
(0) = 1
Soluţia analitică este: 1 1 y = 1 − ⋅ x2 + ⋅ x4 ; x ∈ ! 2 24 Să se scrie sistemul de ecuaţii diferenţiale echivalent şi să se rezolve în MATLAB. Sistemul echivalent al ecuaţiei diferenţiale de ordin 5, scris mai sus este y5( I ) = y4 (I ) y4 = y3 (I ) y3 = y2 (I ) y2 = y1 (I ) y1 = 0
derivata _ I derivata _ II derivata _ III derivata _ IV derivata _ V
Vom crea un fişier M, numit ec_dif5, care va conţine cele cinci ecuaţii diferenţiale function y_deriv=ec_dif5(x,y) y_deriv=zeros(5,1); %vectorul derivatelor y_deriv(1)=0; % derivata de ordin 5 y_deriv(2)=y_deriv(1); %derivata de ordin y_deriv(3)=y_deriv(2); %derivata de ordin y_deriv(4)=y_deriv(3); %derivata de ordin y_deriv(5)=y_deriv(4); %derivata de ordin
4 3 2 1
Pentru integrarea sistemului de ecuaţii diferenţiale de ordinul întâi, pe intervalul [0, 2], vom scrie un fişier tip M, cu următoarele instrucţiuni MATLAB: x0=0; xf=2; y0=[1; 0; -1; 0; 1]; [x,y]=ode23('ec_dif5',x0,xf,y0); z=1-(1/2).*x.^2+(1.24).*x.^4; plot(x,y(:,5),'o',x,z); grid
-117-
MATLAB sub Windows
5.7.
OPTIMIZARE CU MATLAB UTILIZÂND PACHETUL OPTIMIZATION DIN MATLAB
Fiecare componentă a setului de programme din cadrul toolbox-ului OPTIMIZATION din MATLAB, este o funcţie MATLAB (fişier.m). Acestea sunt : - programe pentru minimizarea funcţiilor neliniare: fgoalattain fmin, fminbnd fmincon fminimax fseminf fminunc linprog quadprog -
probleme multiobiectiv; minimizare neliniară scalară, cu mărginire; minimizare neliniară cu restricţii; căutarea soluţiei minimax; minimizare semi-infinită; minimizare neliniară fără restricţii programare liniară; programare pătratică;
programe pentru probleme de minim date matricial: fsolve - rezolvarea ecuaţiilor neliniare; lp - programare liniară; qp - programare pătratică; - programe pentru probleme de rezolvate cu metoda celor mai mici pătrate: lsqlin - aplicarea metodei celor mai mici pătrate în condiţii de restricţii liniare; lsqnonlin - aplicarea metodei celor mai mici pătrate în condiţii de restricţii neliniare; lsqnoneg - aplicarea metodei celor mai mici pătrate în condiţii de nenegativitate;
Setarea instrucţiunilor implicite de lucru în MATLAB, precum şi stabilirea configuraţiei dorite de utilizator se realizează cu funcţia foptions. Funcţia foptions returnează vectorul options. Componentele acestuia sunt folosite de funcţiile de mai sus în totalitate sau parţial. Minimizarea cu restricţii Rezolvarea problemelor de minimizare cu restricţii se face cu funcţia fmin sau fminbnd. Funcţia fmin se utilizează pentru determinarea punctului de minim, pentru o funcţie de o variabilă, cu restricţii de mărginire asupra variabilei. Instrucţiunile de apelare în MATLAB sunt: x=fmin( `functie`,valoare_initiala,valoare_finala); -118-
Modelarea şi Simularea Sistemelor de Producţie
x=fmin(`functie`, valoare_initiala,valoare_finala,options); [x,options]=fmin(`functie`, valoare_initiala,valoare_finala,options); unde `functie` - este fie descrierea matematică explicită a funcţiei de minimizat, fie numele fişierului MATLAB (functie.m) care conţine descrierea; - valoarea minimă se caută pentru valoare_initiala,valoare_finala valoare _ initiala < x < valoare _ finala - este vectorul parametrilor de lucru descrise în tabelul de mai jos; options Semnificaţia options(1) options(2) options(3) options(4) options(5) options(6) options(7) options(8) options(9) options(10) options(11) options(12) options(13) options(14) options(15) options(16) options(17) options(18)
Valoarea implicită
Dacă are valoare diferită de zero atunci se afişează valorile 0 la fiecare iteraţie. Toleranţa de orpire pentru vectorul variabilelor. 10-4 Toleranţa de oprire pentru valoarea funcţiei obiectiv. 10-4 Criteriul de terminare la neîndeplinirea restricţiei. 10-6 Strategia utilizată pentru problema curentă. Algoritmul de optimizare folosit pentru problema curentă. Indică folosirea algoritmului liniar de căutare. 0 Valoarea funcţiei obiectiv sau valorile multiplicatorilor Lagrange în probleme neliniare. Dacă doriţi să verificaţi valorile gradienţilor atunci valoarea acestui parametru trebuie să fie 1. Numărul de evaluări pentru funcţia obiectiv şi pentru restricţii. Numărul de evaluări pentru funcţia gradient. Numărul de evaluări pentru restricţii. Numărul de restricţii date cu egalitate. Numărul maxim de iteraţii. 100*nr. variab. Utilizat pentru funcţii obiectiv speciale în probleme multiobiectiv. Valoarea minimă de modificare pentru variabile în metoda diferenţelor finite. Valoarea maximă de ,odificare pentru variabile în metoda diferenţelor finite. Lungimea pasului curent. 1 sau mai mic
În a treia variantă de apelare a funcţiei fmin , se returnează atât valoarea x care dă optimul cât şi vectorul options al parametrilor. Fişierul care descrie funcţia de minimizat trebuie să se găsească în directorul curent. Funcţia fmin foloseşte numai componentele options 1, 2 şi 14 ale vectorului options , cu semnificaţiile din tabelul de mai sus.
-119-
MATLAB sub Windows
Exemplu 5.7.1. Să se minimizeze pe intervalul [-3, 3], funcţia f ( x ) = ( x − 1) + 1 . Pentru rezolvarea în MATLAB, scriem mai întâi un fişier funcţie 2
function y= functie1(x) y=(x-1).^2+1; iar în mediul de programare MATLAB, se scrie următoarea instrucţiune » x=fmin('functie1',-3,3) x= 1 sau » functie1(x) ans = 1 Funcţia MATLAB constr este utilizată pentru determinarea punctului de minim pentru o funcţie de mai multe variabile într-o problemă cu restricţii asupra variabilelor. Ea se poate apela în următoarele variante : x= constr(`test’,x0);
- începe de la x0 şi găseşte minimul funcţiei descrisă în fişierul `test`. [x,options]=constr(`test’,x0,options); - permite precizarea unui vector cu parametrii opţionali. [x,options]=constr(`test`,x0,options,lim_inf,lim_sup); - defineşte marginea inferioară şi superioară a variabilei x, şi din acest motiv soluţia se va găsi în domeniul lim_inf < x < lim_sup. [F,G]=test(x); - `test` este un fişier MATLAB care returnează două componente: funcţia obiectiv F şi vectorul restricţiilor G. Exemplu 5.7.2.
Să se rezolve următoarea problemă de programare liniară min 3 ⋅ x1 − 2 ⋅ x2
cu restricţiile x1 + x2 < 18 − x + 5 ⋅ x < 7 2 1 x1 − x2 < 4 x1 ≥ 0 x2 ≥ 0 -120-
Modelarea şi Simularea Sistemelor de Producţie
Pentru rezolvarea problemei se va construi fişierul proglin1.m, având următoarele instrucţiuni: function [F,G]= proglin1(x) F=3*x(1)-2*x(2); G=[x(1)+x(2)-18,-1*x(1)+5*x(2)-7,x(1)-x(2)-4,-x(1),-x(2)]; Secvenţa următoare de două comenzi MATLAB, rezolvă problema noastră: » x0=[0,0]; %initializeaza vectorul variabilelor » x=constr('proglin1',x0) x =[ 0 1.4000] » proglin1(x) ans = -2.8000 adică x1 = 0; x2 = 1.4 şi minimul căutat este -2,8 . Pentru aceeaşi problemă se poate apela funcţia MATLAB constr astfel încât să se genereze şi vectorul options, adică: » x0=[0,0]; » [x,options]=constr('proglin1',x0) x =[ 0 1.4000] options = Columns 1 through 7 0 0.0001 0.0001 0.0000 Columns 8 through 14 -2.8000 0 7.0000 3.0000 Columns 15 through 18 0 0.0000 0.1000 1.0000
0 3.0000
0
0 0 200.0000
Se observă cu uşurinţă că options(8) este valoarea optimă a funcţiei obiectiv. Exemplu 5.7.3.
Să se rezolve următoarea problemă de programare liniară max12 ⋅ x1 + 13 ⋅ x2 + 15 ⋅ x3
cu restricţiile x1 + 3 ⋅ x2 + 8 ⋅ x3 < 100000 3 ⋅ x + 2 ⋅ x + 3 ⋅ x < 150000 2 3 1 x1 < 1000 x1 + x2 + x3 = 1200000 x1 ≥ 0 x2 ≥ 0 x3 ≥ 0 -121-
MATLAB sub Windows
Pentru rezolvarea problemei în MATLAB trebuiesc avute în vedere următoarele precizări: 1. problema de maxim trebuie introdusă ca o problemă de minim făcând transformarea max f = - min ( -f ) . Aceasta având implicaţii la introducerea funcţiei obiectiv şi la citirea valorii optime a functiei obiectiv. 2. Restricţia de tip mai mare sau egal () trebuie introdusă ca o restricţie de tip mai mic sau egal (). 3. Se va construi fişierul proglin2.m, având următoarele instrucţiuni function [F,G]= proglin2(x) F=(-1)*(12*x(1)+13*x(2)+15*x(3)); G=[x(1)+3*x(2)+8*x(3)-100000,3*x(1)+2*x(2)+3*x(3)-150000, … -15*x(1)+150000,x(1)+x(2)+x(3)-1200000,-x(1),-x(2),-x(3)]; Secvenţa următoare de două comenzi MATLAB, rezolvă problema noastră: » x0=[0,0,0]; x=constr('proglin2',x0) x =[ 35714 21429 0] » proglin2(x) ans = -7.0714e+005 adică x1 = 35714; x2 = 21429; x3 = 0; şi maximul căutat este 707 140 . Minimizarea fără restricţii Rezolvarea problemelor de minimizare fără restricţii se face cu funcţia fmins sau fminu. Instrucţiunile de apelare în MATLAB ale funcţiei fmins, sunt: x=fmins( `functie`,x0); x=fmins(`functie`,x0,options); [x,options]=fmins(`functie`,x0,options); unde x0 este un vector ce conţine valorile iniţiale necesare declanşării generării soluţiei. Algoritmul folosit de acestă funcţie este bazat pe metoda de căutare simplex. Instrucţiunile de apelare în MATLAB ale funcţiei fminu, sunt: x=fminu( `functie`,x0); x=fminu(`functie`,x0,options); [x,options]=fminu(`functie`,x0,options); unde x0 este un vector ce conţine valorile iniţiale necesare declanşării generării soluţiei. -122-
Modelarea şi Simularea Sistemelor de Producţie
Algoritmul folosit de acestă funcţie este bazat pe metoda de determinare a soluţiei de tip quasiNewton cu o combinaţie între procedurile de căutare pătratică şi cubică. Minimizarea funcţiilor liniare cu restricţii date matriceal Funcţia MATLAB pentru rezolvarea problemelor de programare liniară este lp. Fie problema dată matricial astfel min f ' x cu restricţiile A⋅ x ≤ b
unde -
x este vectorul coloană al variabilelor; f este vectorul coloană al coeficienţilor funcţiei obiectiv; A este matricea coeficientilor restricţiilor; B este vectorul coloană al termenilor liberi ai restricţiilor; Instrucţiunile de apelare în MATLAB ale funcţiei lp, sunt: x=lp(f,A,b); [x,lambda]=lp(f,A,b); x=lp(f,A,b,VMI,VMS); x=lp(f,A,b,VMI,VMS,x0); x=lp(f,A,b,VMI,VMS,x0,N);
unde parametrii noi au următoarea semnificaţie - lambda este vectorul valorilor multiplicatorilor Lagrange pentru soluţia obţinută; - N precizează că primele N restricţii definite prin [A,b] sunt de tip egalitate; Exemplu 5.7.3.
Reluăm exemplul 5.7.2. dată în forma min 3 ⋅ x1 − 2 ⋅ x2
cu restricţiile x1 + x2 < 18 − x + 5 ⋅ x < 7 2 1 x1 − x2 < 4 x1 ≥ 0 x2 ≥ 0 Pentru rezolvarea problemei folosind funcţia lp se va construi fişierul proglin3.m, având următoarele instrucţiuni: -123-
MATLAB sub Windows
a=[1 1; -1 5; 1 -1]; b=[18; 7; 4]; vmi=[0; 0]; vms=[]; f=[3; -2]; x=lp(f,a,b,vmi,vms) minimul=f’*x Rularea scriptului prin comanda în mediul de lucru MATLAB, run proglin3, va conduce la obţinerea următoarelor date: x= 0 1.4000 minimul = -2.8000 adică x1 = 0; x2 = 1.4 şi minimul căutat este -2,8, la fel ca şi în exemplul 5.7.2.
5.8.
LABVIEW CA UNEALTĂ DE MODELARE ([32])
În raport cu aspectele enumerate mai sus, utilizarea mediului de programare grafică LabVIEW pentru modelare şi simulare aduce o serie de soluţii: utilizarea mediului LabVIEW poate fi însuşită într-un interval de timp mult mai redus $" în comparaţie cu alte pachete software, iar bazele utilizării LabVIEW vor fi în curând stăpânite în proporţie de masă de către absolvenţii universităţilor tehnice; va apare astfel posibilitatea utilizării pentru studii de modelare şi simulare a $" personalului propriu al întreprinderii, dislocat temporar din cadrul altor activităţi; utilizarea personalului propriu va reduce drastic perioada de acomodare cu sistemul de $" fabricaţie şi de cunoaştere a acestuia; va deveni posibilă o abordare modulară a realizării modelului, eventual cu echipe $" specializate din diversele departamente, cu testări intermediare ale modulelor, fără ca prin aceasta să crească semnificativ costurile de modelare. Avantajul principal va fi adus însă din punct de vedere al actualizării informaţiilor cuprinse în model: actualizarea ritmică şi cu costuri scăzute a informaţiilor despre un sistem de fabricaţie #" nu poate fi realizată decât prin utilizarea unui sistem distribuit de achiziţie a datelor; datele culese din sistem necesită prelucrări statistice de multe ori complexe; #" -124-
Modelarea şi Simularea Sistemelor de Producţie
informaţiile referitoare la diversele mărimi fizice din procese trebuiesc în majoritatea #" cazurilor completate cu date economico – financiare extrase din sistemul informaţional al întreprinderii; comunicaţiile între sistemele de achiziţie de date, bazele de date cu informaţii #" economico – financiare şi programele de simulare pot genera dificultăţi majore în situaţiile în care caracteristicile diverselor pachete software sunt eterogene. Din aceste puncte de vedere, mediul de programare grafică LabVIEW oferă soluţii obtenabile cu un minim de resurse: !"a fost iniţial conceput special pentru lucrul în sisteme de achiziţie de date şi monitorizare de proces; !"posedă module dedicate pentru lucrul în sisteme de achiziţie distribuite de genul FieldPoint; !"oferă o întreagă gamă de soluţii pentru transmiterea informaţiilor prin diverse protocoale de comunicaţie, inclusiv TCP/IP şi protocoale de uz industrial; !"poate accesa baze de date având funcţii specifice SQL. Utilizarea mediului LabVIEW în modelare şi simulare va oferi avantajul unei unelte software puternice şi facil de utilizat, extrem de uşor de integrat în sistemul informaţional în scopul asigurării actualizării modelului. Modelul de simulare se poate transforma astfel dintr-o unealtă greu de construit, scumpă şi cu durată de viaţă redusă, într-un asistent pentru luarea deciziilor în timp real, pe baza celor mai recente informaţii şi a unor tehnici avansate de predicţie. Pe lângă prezentarea consideraţiilor de mai sus, care au condus la ideea utilizării LabVIEW ca unealtă de modelare şi simulare, lucrarea de faţă îşi propune şi o introducere referitoare la modalităţile în care această abordare va fi dezvoltată. Pachetele software dedicate modelării şi simulării pun la dispoziţia utilizatorului un set de “obiecte” specifice: posturi de lucru, produse, elemente de transport, operatori ş.a.m.d. Mediul de programare LabVIEW utilizează subVI-uri, proceduri ordonate într-o ierarhie ce pot fi uşor introduse şi utilizate într-o aplicaţie. Reiese în mod aproape natural că o abordare de natura celei de mai sus trebuia să constea în punerea la dispoziţia utilizatorilor a unui set de subVI-uri, accesibile prin paleta de funcţii din diagrama aplicaţiei, ce vor modela diversele componente ale sistemului. În cele ce urmează vom prezenta două exemple dezvoltate de prof.univ.dr.ing. Sava Tom de la Universitatea „Politehnica” din Bucureşti, în lucrarea [32]. Exemplu 5.8.1. O aplicaţie subVI, dedicat modelării unui post de lucru ce dispune la intrare de o zonă de aşteptare de tipul unei stive FIFO şi poate efectua la un moment dat o prelucrare asupra unui singur semifabricat.
-125-
MATLAB sub Windows
Figura 5.27 SubVI-ul ce modelează funcţionarea unui astfel de post conţine următoarele elemente de control şi indicatoare prin intermediul cărora se conectează în VI-ul apelant (figura 5.27): o elementul boolean de control Intrare, având valoarea logică True atunci când în zona de aşteptare a postului a sosit un semifabricat din amontele sistemului de fabricaţie, şi elementul boolean indicator Ieşire, având valoarea logică True atunci când postul de lucru a încheiat prelucrarea curentă şi a generat un reper disponibil către avalul sistemului; o un element numeric de control (Nr elem IN), reprezentând numărul de semifabricate aflate în zona de aşteptare a procesorului înainte de apelarea subVI-ului, şi un element numeric indicator (Nr elem OUT), reprezentând numărul de semifabricate rămase în zona de aşteptare a procesorului după executarea subVI-ului; o elementele booleene Stare IN şi Stare OUT, reprezentând starea Ocupat (True) sau Liber (False) a postului de lucru la începutul, respectiv la sfârşitul intervalului de timp corespunzător unei executări a subVI-ului; o elementele numerice Timp restant IN şi Timp restant OUT, ale căror valori reprezintă timpul rămas până la încheierea prelucrării semifabricatului aflat în lucru, dacă postul de lucru este ocupat, sau timpul scurs de la încheierea prelucrării ultimului semifabricat, cu semn schimbat, dacă postul de lucru este liber; o un element numeric de control (Durata proces) reprezentând timpul necesar pentru prelucrarea unui semifabricat; o un element numeric de control (delta t) semnificând mărimea intervalului de timp simulat la o executare a subVI-ului. Regulile prin intermediul cărora subVI-ul determină valorile elementelor indicatoare în funcţie de cele ale elementelor de control sunt următoarele:
-126-
Modelarea şi Simularea Sistemelor de Producţie
!"dacă în zona de aşteptare a postului de lucru a sosit un semifabricat din amontele sistemului de fabricaţie, numărul de semifabricate din stivă este incrementat cu o unitate; !"dacă în zona de aşteptare a postului se află semifabricate (Nr elem IN > 0) şi dacă postul de lucru este liber (Stare IN = False), atunci se va prelua un semifabricat din stivă (Nr elem OUT = Nr elem IN - 1). Timpul rămas până la încheierea prelucrării va căpăta în acest caz valoarea diferenţei dintre durata prelucrării şi intervalul de timp simulat; !"dacă în stiva de intrare nu există semifabricate sau dacă postul de lucru este ocupat, valoarea timpului rămas din prelucrare (sau scurs de la încheierea ultimei prelucrări) se diminuează cu intervalul de timp simulat (figura 5.28); !"dacă postul de lucru a fost ocupat la începutul executării subVI-ului şi a devenit liber la sfârşitul acesteia, se marchează încheierea prelucrării unui reper prin atribuirea valorii True elementului indicator Ieşire; !"elementul boolean indicator Stare OUT capătă valoarea True dacă valoarea elementului indicator Timp restant OUT este pozitivă şi nenulă (a rămas un interval de timp pozitiv până la încheierea prelucrării curente) şi capătă valoarea False în caz contrar.
Figura 5.28 În cazul în care postul de lucru poate efectua simultan prelucrări asupra mai multor semifabricate, timpii rămaşi până la prelucrarea acestora sunt stocaţi în elemente de tip Array (figura 5.29). Numărul maxim de semifabricate pe care postul de lucru le poate prelucra simultan este descris prin intermediul elementului numeric de control Capacitate. Dacă în zona de aşteptare a postului se află semifabricate, condiţia ca unul dintre acestea să fie preluat de către postul de lucru spre prelucrare este ca numărul de semifabricate aflate deja în lucru (dimensiunea Array-ului Timpi restanti IN) să fie mai mic decât capacitatea postului. Elementul boolean de control Stare IN din subVI-ul precedent nu mai este suficient pentru a aprecia dacă a avut loc încheierea prelucrării unui semifabricat, acest element devenind de fapt inutil şi fiind îndepărtat din diagramă. Cum se presupune (în acest caz) că durata prelucrării este aceeaşi pentru toate semifabricatele aflate în lucru, acestea vor părăsi postul de lucru după logica FIFO. La un moment dat nu poate avea loc încheierea prelucrării decât pentru cel mai “vechi” semifabricat aflat în lucru, adică cel căruia îi corespunde timpul restant de pe prima poziţie din şir. Încheierea prelucrării va avea loc în momentul în care valoarea acestui timp restant îşi schimbă semnul sau devine nulă.
-127-
MATLAB sub Windows
Figura 5.29 Elementul indicator boolean Stare OUT nu mai trece de această dată în starea False la încheierea prelucrării unui semifabricat, ci doar în situaţia în care toate valorile timpilor restanţi din Array-ul corespunzător devin nule sau negative. Exemplu 5.8.2. În figura 5.30 se prezintă un exemplu de program de simulare, pentru un sistem de fabricaţie, în care au fost utilizate, printre altele, cele două modele simple descrise anterior.
Figura 5.30 Valorile elementelor de control ale modelelor simple sunt transmise acestora la fiecare iteraţie a aplicaţiei, fie sub formă de constante, fie în urma unor prelucrări suplimentare, iar valorile elementelor indicatoare (calculate de către modelele simple) sunt utilizate pentru actualizarea interfeţei grafice cu utilizatorul şi sunt transmise mai departe la iteraţia următoare. -128-
Modelarea şi Simularea Sistemelor de Producţie
Unele dintre elementele indicatoare şi de control ale modelelor simple sunt interconectate după logica ce guvernează funcţionarea sistemului de fabricaţie. Varietatea mare de elemente pe care mediul de programare grafică LabVIEW le pune la dispoziţia utilizatorului pentru crearea interfeţei grafice face ca aceasta să poată fi construită cu un mare grad de sugestivitate, reprezentarea apropiindu-se de schema sinoptică a sistemului. Valorile elementelor indicatoare pot fi de asemenea utilizate pentru calcularea unor diverşi indicatori globali de funcţionare a sistemului de fabricaţie, aprecierea evoluţiei acestora stând de fapt la baza concluziilor rezultate din studiul prin simulare.
-129-
Aplicaţii. Studii de caz.
CAPITOLUL 6 STUDII DE CAZ. APLICAŢII 6.1.
MODELAREA PROCESULUI DE LANSARE PE PIAŢĂ A UNUI NOU PRODUS FOLOSIND CRITERIUL UTILITĂŢILOR CU ARBORI DE DECIZIE SIMETRICI
Varianta 1. Rezolvarea clasică. Pentru asigurarea asimilării pe piaţă a noului produs, firma trebuie să fundamenteze o strategie corespunzătoare de lansare, ce cuprinde mai multe procese decizionale. La momentul t=1 se pot lua următoarele decizii: - să se testeze piaţa printr-un studiu de marketing şi să se lanseze un lot de probă prin magazinele proprii de desfacere pentru a obţine informaţii în legătură cu reacţia clienţilor. - să nu se testeze piaţa printr-un studiu de marketing, respectiv să nu se lanseze lotul de probă. La momentul t=2 pot exista variantele de acţiune: - lansarea pe scară largă a produsului (într-un lot de 3000 bucăţi); - lansarea pe scară mică ( 1000 bucăţi). Corespunzător fiecărui proces decizional se vor considera 2 stări ale naturii pentru t=1, condiţii favorabile de evoluţie a pieţei cu o probabilitate de 0.7, iar pentru condiţii nefavorabile cu o probabilitate de 0.3. Pentru t=2, succesul produsului la lansare se va produce cu probabilitatea de 0.8, iar eşcul se va produce cu probabilitatea de 0.2. Compararea diferitelor variante de acţiune se face cu ajutorul a 2 criterii de eficienţă şi anume : mărimea profitului obţinut şi durata necesară ajungerii produsului pe piaţă, fiecărui criteriu I se acordă coeficientul de importanţă 0,5. Consecinţele ce corespund celor 2 stări de evoluţie a naturii au fost evaluate de echipa de experţi şi se prezintă astfel: t=1 Cu testare Fără testare t=2 Lot Mare Lot mic
Tabelul 6.1 Durata (zile) când se lansează produsul FAVORABILĂ NEFAVORABILĂ 30 40 3 5 Tabelul 6.2 Durata (zile) pentru lansare a produsului SUCCES EŞEC 15 18 5 10 -130-
Modelarea şi Simularea Sistemelor de Producţie
Tabelul 6.3 Cota estimată de profit corespunzătoare lansării produsului în condiţii de: SUCCES EŞEC
FAVORABILĂ
NEFAVORABILĂ
0.2 0.1
0.1 0.03
Pasul 1 Transpunem studiul de caz sub forma unui arbore de decizie şi calculăm consecinţele economice pentru fiecare variantă (a se vedea diagrama din figura 6.1). Exemplificare pentru nodul 4 (test de piaţă, condiţii favorabile, lansare în cantitate mare / mică, în condiţii de succes / eşec). Lansare Lot Mare = 3000 bucăţi
Succes Eşec
Profit
Durata ajungerii pe piaţă
0,2 x 3000 = 600 0,1 x 3000 = 300
15 + 30 = 45 NOD 16 18 + 30 = 48 NOD 17
Lansare Lot Mic = 1000 bucăţi
Succes Eşec
Profit
Durata ajungerii pe piaţă
0,2 x 1000 = 200 0,1 x 1000 = 100
5 + 30 = 35 NOD 18 10 + 30 = 40 NOD 19
În mod analog se fac calculele şi pentru nodurile 5, 6 şi 7 Pasul 2 Consecinţele economice calculate se normalizează sub formă de utilităţi ( 0 < u <1 ): Criteriul 1 – cel de MAXIM
u ( x) =
x − valoare min ima valoare max ima − valoare min ima
În cazul dat valoarea maximă este 600 şi cea minimă de 30. -131-
Aplicaţii. Studii de caz.
Criteriul 2 – cel de MINIM u ( x) =
x − valoare miaxima valoare min ima − valoare max ima
În cazul dat valoarea maximă este 58 şi cea minimă de 8. Pasul 3 Algoritmul de calcul se continua pentru stabilirea utilităţilor sinteză ca sumă de produse între utilităţile calculate şi coeficientul de importanţă considerat pentru fiecare criteriu economic în parte. Nod
Varianta 1
NOD 4
2 1
NOD 5
2 1
NOD 6
2 1
NOD 7
2
Criteriul 1 Valoare coeficient Profit u1 600 1 300 0.47 200 0.29 100 0.12 300 0.47 90 0.10 100 0.12 30 0 600 1 300 0.47 200 0.29 100 0.12 300 0.47 90 0.10 100 0.12 30 0
Tabelul 6.4 Criteriul 2 Utilitate Valoare coeficient Sinteză Durată u2 45 0.26 us1=0.63 78 0.20 us2=0.33 35 0.46 us3=0.37 40 0.36 us4=0.24 55 0.06 0.26 58 0 0.05 45 0.26 0.19 50 0.16 0.08 18 0.80 0.90 21 0.74 0.60 8 1 0.64 13 0.90 0.51 20 0.76 0.61 23 0.70 0.40 10 0.96 0.54 15 0.86 0.43
Pasul 4 Calculul valorilor medii aşteptate pentru fiecare variantă şi selectarea variantei optime: Exemplu pt. nodul 4 Vm1 = 0,8 x us1 (0,63) + 0,2 x us2 (0,33) = 0.57 Vm2 = 0,8 x us3 (0,37) + 0,2 x us4 (0,24) = 0.35 Se alege valoarea maximă dintre Vm1 şi Vm2 , pt. nodul 4, adică 0.57 În mod analog se face pentru fiecare nod în parte. -132-
Modelarea şi Simularea Sistemelor de Producţie
Pasul 5 Stabilirea variantei optime la momentul t=1, prin calcularea valorii mediei aşteptate maxime. Rezultate se trec în tabelul 6.5. Varianta V1 V2
Starea naturii 1 Starea naturii 2 Vmax nod 4 Vmax nod 5 Vmax nod 6 Vmax nod 7
Tabelul 6.5 Valoarea medie aşteptată Vmax nod 4 x 0,7 + Vmax nod 5 x 0,3 Vmax nod 6 x 0,7 + Vmax nod 7 x 0,3
Se alege varianta optimă cea pentru care avem valoarea maximă a mediei aşteptate, adică produsul nostru va fi lansat pe piaţă fără realizarea testării.
Figura 6.1. -133-
Aplicaţii. Studii de caz.
Varianta 2. Programarea MATLAB. În cele ce urmează se prezintă instrucţiunile MATLAB pentru rezolvarea aplicaţiei de mai sus, scrise în fişierul mssp_ex61.m. %PROGRAM PENTRU MODELAREA PROCESULUI DE LANSARE PE PIATA A UNUI PRODUS % CU ARBORI DE DECIZIE SIMETRIC %Momentul t=1 disp('PROGRAM PENTRU MODELAREA PROCESULUI DE LANSARE PE PIATA A UNUI PRODUS ') disp('
FOLOSIND ')
disp(' ARBORE DE DECIZIE SIMETRIC') disp(' ') disp(' ') disp(' ') pause clc disp(' ') disp('STUDIU DE CAZ ') disp(' ') disp(' ') disp('Societatea isi propune sa lanseze pe piata un PRODUS NOU.') disp(' ') disp('Pentru a asigura asimilarea pe piata a noului produs, firma trebuie sa') disp('fundamenteze o strategie corespunzatoare de lansare, ce cuprinde mai multe procese') disp('decizionale.') disp(' ') disp(' ') disp(' ') disp('DECIZIA 1') disp('') disp(' TESTAREA PIETEI printr-un STUDIU DE MARKETING') disp(' si') disp(' LANSAREA UNUI LOT DE PROBA PRIN MAGAZINELE DE DESFACERE') disp('pentru obtinerea de informatii in legatura cu reactia clientilor') disp(' ') disp(' ') disp('DECIZIA 2') disp(' ') disp(' NU SE VA TESTA PIATA prin STUDIU DE MARKETING') -134-
Modelarea şi Simularea Sistemelor de Producţie
disp(' disp('
si prin urmare') NU SE VA LANSA UN LOT DE PROBA ')
pause clc disp('Introducere date initiale') disp(' ') disp(' ') test_fav=input('Durata de lansare a produsului, in conditii favorabile cu testare (ex. 30):'); test_nefav=input('Durata de lansare a produsului, in conditii nefavorabile cu testare (ex. 35):'); disp(' ') fara_test_fav=input('Durata de lansare a produsului, in conditii favorabile fara testare(ex. 5):'); fara_test_nefav=input('Durata de lansare a produsului, in conditii nefavorabile fara testare(ex. 10):'); disp(' ') LotMare_succes=input('Durata pentru lansare cu succes, pt. un LOT MARE (ex.15):'); LotMare_esec=input('Durata pentru lansare cu esec, pt. un LOT MARE (ex.18):'); disp(' ') LotMic_succes=input('Durata pentru lansare cu succes, pt. un LOT MIC (ex.7):'); LotMic_esec=input('Durata pentru lansare cu esec, pt. un LOT MIC (ex.10):'); disp(' ') disp('Cota estimata de profit corespunzatoare lansarii prodului in conditii de SUCCES : ') disp(' ') Profit_fav_succes=input(' In varianta favorabila | 0 < p1 < 1, (ex. 0.16):'); Profit_nefav_succes=input('In varianta nefavorabila | 0 < p2 < 1, (ex. 0.1):'); disp(' ') disp('Cota estimata de profit corespunzatoare lansarii prodului in conditii de ESEC : ') disp(' ') Profit_fav_esec=input('In varianta favorabila | 0 < p3 < 1, (ex. 0.09):'); Profit_nefav_esec=input('In varianta nefavorabila | 0 < p4 < 1, (ex. 0.05):'); % Lansarea se face in doua variante % Varianta 1 = Cu testarea pietei in doua cazuri c11= succes si c12=esec % Varianta 2 = Fara testarea pietei in doua cazuri c21= succes si c22=esec disp(' ') Lot_Mare=input('Marimea lotului mare (ex. 2500 buc):'); Lot_Mic=input('Marimea lotului mic (ex. 1000 buc):'); disp(' ') p11=input('Probabilitatea de evolutie favorabila in cazul lansarii cu testarea pietii (ex. 0.6):'); p21=1-p11; disp(' ') p12=input('Probabilitatea in cazul lansarii cu succes pe piata (ex. 0.7):'); p22=1-p12; -135-
Aplicaţii. Studii de caz.
pause clc disp(' ') disp('PASUL 1 ') disp(' ') disp('Se transpune studiul de caz sub forma unui arbore de decizie ') disp('si se calculeaza consecintele economice pentru cele 16 variante ') disp(' ') a1=Lot_Mare*Profit_fav_succes; a2=Lot_Mare*Profit_fav_esec; a3=Lot_Mic*Profit_fav_succes; a4=Lot_Mic*Profit_fav_esec; a5=Lot_Mare*Profit_nefav_succes; a6=Lot_Mare*Profit_nefav_esec; a7=Lot_Mic*Profit_nefav_succes; a8=Lot_Mic*Profit_nefav_esec; a9=Lot_Mare*Profit_fav_succes; a10=Lot_Mare*Profit_fav_esec; a11=Lot_Mic*Profit_fav_succes; a12=Lot_Mic*Profit_fav_esec; a13=Lot_Mare*Profit_nefav_succes; a14=Lot_Mare*Profit_nefav_esec; a15=Lot_Mic*Profit_nefav_succes; a16=Lot_Mic*Profit_nefav_esec; b1=LotMare_succes+test_fav; b2=LotMare_esec+test_fav; b3=LotMic_succes+test_fav; b4=LotMic_esec+test_fav; b5=LotMare_succes+test_nefav; b6=LotMare_esec+test_nefav; b7=LotMic_succes+test_nefav; b8=LotMic_esec+test_nefav; b9=LotMare_succes+fara_test_fav; b10=LotMare_esec+fara_test_fav; b11=LotMic_succes+fara_test_fav; b12=LotMic_esec+fara_test_fav; b13=LotMare_succes+fara_test_nefav; b14=LotMare_esec+fara_test_nefav; -136-
Modelarea şi Simularea Sistemelor de Producţie
b15=LotMic_succes+fara_test_nefav; b16=LotMic_esec+fara_test_nefav; pause clc NOD_16=[a1 b1] NOD_17=[a2 b2] NOD_18=[a3 b3] NOD_19=[a4 b4] pause clc NOD_20=[a5 b5] NOD_21=[a6 b6] NOD_22=[a7 b7] NOD_23=[a8 b8] pause clc NOD_24=[a9 b9] NOD_25=[a10 b10] NOD_26=[a11 b11] NOD_27=[a12 b12] pause clc NOD_28=[a13 b13] NOD_29=[a14 b14] NOD_30=[a15 b15] NOD_31=[a16 b16] u11=[a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 a14 a15 a16]; u22=[b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 b16]; u11max=max(u11); u11min=min(u11); u22max=max(u22); u22min=min(u22); pause clc -137-
Aplicaţii. Studii de caz.
disp(' ') disp('PASUL 1 EXECUTAT TREC LA: ') disp(' ') disp('PASUL 2 ') disp(' ') disp('Consecintele economice calculate se normalizeaza sub forma de utilitati 0 < u < 1 ') disp(' ') disp(' ') pause clc for i=1:16 u1(i)=(u11(i)-u11min)/(u11max-u11min); u2(i)=(u22(i)-u22max)/(u22min-u22max); u(i)=(u1(i)+u2(i))/2; end Criteriu_1=u1(:) pause clc Criteriu_2=u2(:) pause clc disp(' ') disp('PASUL 2 EXECUTAT TREC LA: ') disp(' ') disp(' ') disp('PASUL 3 ') disp(' ') disp('Algoritmul de calcul se continua pentru stabilirea utilitatilor sinteza, ca suma de ') disp('produse intre utilitatile calculate si coeficientul de importanta considerat pentru ') disp('fiecare criteriu economic in parte ') disp(' ') us=u(:) pause clc disp(' ') -138-
Modelarea şi Simularea Sistemelor de Producţie
disp('PASUL 3 EXECUTAT TREC LA: ') disp(' ') disp(' ') disp('PASUL 4 ') disp(' ') disp('Calculul valorilor medii asteptate pentru fiecare varianta si selectarea variantei optime') disp(' ') disp(' ') V4m1=p12*us(1)+p22*us(2); V4m2=p12*us(3)+p22*us(4); V5m1=p12*us(5)+p22*us(6); V5m2=p12*us(7)+p22*us(8); V6m1=p12*us(9)+p22*us(10); V6m2=p12*us(11)+p22*us(12); V7m1=p12*us(13)+p22*us(14); V7m2=p12*us(15)+p22*us(16); pause clc NOD_8=V4m1 NOD_9=V4m2 NOD_10=V5m1 NOD_11=V5m2 pause clc NOD_12=V6m1 NOD_13=V6m2 NOD_14=V7m1 NOD_15=V7m2 pause clc if V4m1>V4m2 V4max=V4m1; Varianta_t1=1; -139-
Aplicaţii. Studii de caz.
else V4max=V4m2; Varianta_t1=2; end if V5m1>V5m2 V5max=V5m1; Varianta_t2=1; else V5max=V5m2; Varianta_t2=2; end if V6m1>V6m2 V6max=V6m1; Varianta_t1=3; else V6max=V6m2; Varianta_t1=4; end if V7m1>V7m2 V7max=V7m1; Varianta_t2=3; else V7max=V7m2; Varianta_t2=4; end NOD_4=V4max NOD_5=V5max NOD_6=V6max NOD_7=V7max -140-
Modelarea şi Simularea Sistemelor de Producţie
pause clc disp(' ') disp('PASUL 4 EXECUTAT TREC LA: ') disp(' ') disp(' ') disp('PASUL 5 ') disp(' ') disp('Stabilirea variantei optime, prin calcularea valorii medii asteptate maxime') disp(' ') disp(' ') Var1=V4max*p11+V5max*p21; Var2=V6max*p11+V7max*p21; NOD_2=Var1 NOD_3=Var2 disp(' ') disp(' ') disp(' ') pause clc disp('IN URMA CALCULELOR ECONOMICE SI A MODELARII DUMNEAVOASTRA ') disp(' ') disp(' REZULTA URMATOAREA CONCLUZIE ') disp(' ')
EFECTUATE DE
if Var1>Var2 disp(' ') disp(' ') disp(['Valoarea medie asteptata pt. Varianta 1 =',num2str(Var1),' > ','Varianta 2=',num2str(Var2)]) disp(' ') disp(' SI DECI ') disp(' ') disp('Varianta optima propusa : ') disp(' ') disp('SE PUNE IN PRACTICA PRIMA DECIZIE') disp(' ') disp(' TESTAREA PIETEI printr-un STUDIU DE MARKETING') disp(' si') -141-
Aplicaţii. Studii de caz.
disp(' LANSAREA UNUI LOT DE PROBA PRIN MAGAZINELE DE DESFACERE') disp(' ') disp(' ') disp(' ') else disp(' ') disp(' ') disp(['Valoarea medie asteptata pt. Varianta 2 =',num2str(Var2),' > ','Varianta 1 =',num2str(Var1)]) disp(' ') disp(' SI DECI ') disp(' ') disp('Varianta optima propusa : ') disp(' ') disp('SE PUNE IN PRACTICA CEA DE A DOUA DECIZIE') disp(' ') disp(' "LANSAREA PRODUSULUI PE PIATA FARA EFECTUAREA STUDIULUI DE MARKETING"') disp(' ') disp(' ') disp(' ') end
-142-
Modelarea şi Simularea Sistemelor de Producţie
6.2. PROGRAMAREA LINIARĂ 6.2.1. STUDIUL DE CAZ 1.
( )
Pentru fabricarea a două produse P1 şi P2, o firmă dispune de patru tipuri de resurse Ri 1,4 . Cantităţile de resurse Ri folosite pentru fabricarea fiecărei unităţi din produsele P1 şi P2, în unităţi convenţionale (tone etc) sunt date în tabelul 6.6. Se mai cunosc cantităţile disponibile ale firmei din fiecare resursă Ri i = 1,4 şi beneficiile pentru fiecare unitate din cele două produse. Să se determine planul de producţie astfel ca beneficiul total să fie maxim.
(
)
Tabelul 6.6 Resurse R1 R2 R3 R4 Beneficiu
R1 2 1 4 0
R1 2 2 0 4 2 um
Disponibil 12 8 16 12 3 um
Introducând variabilele de decizie: x1 = numărul de unităţi din produsul P1 şi x2 = numărul de unităţi din produsul P2 , rezultă următorul model matematic de programare liniară (P.L.) : 2 x1 + 2 x 2 ≤ 12 x + 2x ≤ 8 1 2 4 x1 ≤ 16 4 x 2 ≤ 12
x1 ≥ 0, x 2 ≥ 0, z = 2 x1 + 3 x 2 = max
Vom crea un fişier script, mssp_ex621.m, care va conţine următoarele instrucţiuni: %Sa se rezolve problema 6.2.1 de PROGRAMARE LINIARA data in forma generala % max ( 2*x1 + 3*x2 ) % cu restrictiile % (R1) 2*x1 + 2* x2 <= 12 % (R2) x1 + 2*x2 <= 8 % (R3) 4*x1 <= 16 % (R4) 4*x2 <= 12 % x1, x2 >= 0 -143-
Aplicaţii. Studii de caz.
% MODUL DE REZOLVARE IN MATLAB % Scrierea FUNCTIEI OBIECTIV f=[-2; -3] % vectorul coloana al coeficientilor functiei obiectiv %Initializare x0=[ 0; 0] %Scriem matricea restrictiilor a=[2 2;... 1 2] % Vectorul termenilor liberi pt. restrictiile date b=[ 12; 8] %Solutia trebuie sa indeplineasca conditia vmi < x < vms %Valoarea pentru marginea inferioara vmi=[ 0; 0] %Valoarea pentru marginea superioara vms=[4;3] % Gasirea optimului prin apelarea functiei "LP" x=lp(f,a,b,vmi,vms,x0,1); x1=x(1,1) x2=x(2,1) % Valoarea optima a functiei obiectiv Val_optim=f'*x Rularea scriptului prin comanda în mediul de lucru MATLAB, run mssp_ex621, va conduce la obţinerea următoarelor date: -144-
Modelarea şi Simularea Sistemelor de Producţie
x1 = 4 x2 = 2 Val_optim = -14 În concluzie soluţia optimă a problemei este x1 = 4; x2 = 2;
f ( x ) = 14 = max
Verificăm soluţia în restricţiile problemei. Rezultă că resursele R1, R2 şi R3 sunt resurse rare, utilizate în întregime în timp ce resursa R4 nu a fost în întregime utilizată. Cantitatea din resursa R4, ce rămâne disponibilă poate fi determinată şi ulterior folosită cunoscând preţul umbră (dual) (a se revedea cunoştinţele de la disciplina de Cercetări Operaţionale sau [8], [9], [11], [12], [21]). 6.2.2. STUDIUL DE CAZ 2. O companie produce trei tipuri de produse A, B, C. Fiecare dintre aceste produse trebuie prelucrate tehnologic de aceeaşi maşină unealtă, timp de 2 ore, 3 ore respectiv 1 oră. Maşina unealtă este disponibilă pentru perioada analizată, 400 ore. Pentru produsele A şi C se folosesc componente speciale, câte o bucată pentru fiecare produs, firma având un stoc disponibil pe perioada analizată de 150 de unităţi din aceste componente. Tot pentru produsele A şi C se utilizează un aliaj special: pentru o unitate din produsul A se utilizează 2 kg de aliaj special, iar pentru o unitate din produsul C, 4 kg. Stocul disponibil este de 200 kg din acest aliaj special. Studiul de piaţă pentru produsul B arată că se pot vinde pe perioada analizată cel mult 50 de unităţi din acest produs. Beneficiul unitar al produselor A, B şi C este respectiv: 8 um (unităţi monetare), 5 um, 10 um. Compania doreşte să stabilească planul de producţie care maximizează beneficiul total pe perioada analizată. Elaborarea modelului matematic. Notăm x1 = numărul de produse A x2 = numărul de produse B x3 = numărul de produse C unde x1, x2, x3 pentru modelul analizat reprezintă variabilele de decizie. 2 x1 + 3 x2 + x3 ≤ 400 x + x ≤ 150 1 3 2 x1 + 4 x3 ≤ 200 x2 ≤ 70 -145-
Aplicaţii. Studii de caz.
x1 ≥ 0 , x 2 ≥ 0 , x3 ≥ 0 funcţia obiectiv z = max(8 x1 + 5 x2 + 10 x3 ) Vom crea un fişier script, mssp_ex622.m, care va conţine următoarele instrucţiuni: %Sa se rezolve problema 6.2.2. de PROGRAMARE LINIARA data in forma generala % max ( 8*x1 + 5*x2 + 10*x3 ) % cu restrictiile % (R1) 2*x1 + 3*x2 + x3 <= 400 % (R2) x1 + x3 <= 150 % (R3) 2*x1 + 4*x3 <= 200 % (R4) x2 <= 50 % x1, x2, x3 >= 0 % MODUL DE REZOLVARE IN MATLAB % Scrierea FUNCTIEI OBIECTIV f=[-8; -5;-10] % vectorul coloana al coeficientilor functiei obiectiv %Initializare x0=[ 0; 0; 0] %Scriem matricea restrictiilor a=[2 3 1;... 1 0 1;... 2 0 4] % Vectorul termenilor liberi pt. restrictiile date b=[ 400; 150; 200] %Solutia trebuie sa indeplineasca conditia vmi < x < vms %Valoarea pentru marginea inferioara vmi=[ 0; 0; 0] %Valoarea pentru marginea superioara vms=[ ] % Gasirea optimului prin apelarea functiei "LP" x=lp(f,a,b,vmi,vms,x0,1); x1=x(1,1) x2=x(2,1) x3=x(3,1) -146-
Modelarea şi Simularea Sistemelor de Producţie
% Valoarea optima a functiei obiectiv Val_optim=f'*x Rularea scriptului prin comanda în mediul de lucru MATLAB, run mssp_ex622, va conduce la obţinerea următoarelor date: x1 = 100 x2 = 66.6667 x3=0 Val_optim = -1.1333e+003 În concluzie soluţia optimă a problemei este x1 = 100; x2 = 66.666; x3 = 0
f ( x ) = 1133.3 = max
6.2.3. STUDIUL DE CAZ 3. O firmă fabrică trei tipuri de produse P1, P2, P3, utilizând patru tipuri de resurse R1, R2, R3, R4. Procesul tehnologic de realizare a celor trei produse, timpul disponibil al fiecărei resurse, cererea minimă şi maximă din fiecare produs conform studiului de marketing, precum şi profitul unitar sunt date în tabelul 6.7. Tabelul 6.7 Timp de prelucrare pe unitatea de produs
Cerere Produs min
max
R4
R1
R2
R3
SN 400
FU32
RU320
Banc de control
Profitul unitar um/buc
P1
20
200
0.10
0.06
0.18
0.13
10
P2
0
100
0.12
0.05
0
0.10
12
P3
70
180
0.15
0.09
0.07
0.08
15
36
30
37
38
-
Timp disponibil pe resursă
Să se determine programul de producţie astfel încât să se asigure satisfacerea cererii cu un profit total maxim. Notăm cu x1, x2 x3 variabilele de decizie ce reprezintă cantităţile din produsele P1, P2, respectiv P3 , ce trebuie fabricate astfel încât să se atingă obiectivul propus. -147-
Aplicaţii. Studii de caz.
Modelul matematic liniar al problemei cuprinde restricţiile problemei, ce provin din limitarea disponibilităţii resurselor şi a cererii produselor pe piaţă, funcţia obiectiv ce maximizează profitul total şi condiţiile de nenegativitate care sunt evidente din punct de vedere economic. Modelul matematic al problemei este următorul: f = max(10 x1 + 12 x 2 + 15 x3 ) 0.1x + 0.12 x + 0.15 x ≤ 36 1 2 3 0.06 x1 + 0.05 x 2 + 0.09 x3 ≤ 30 0.18 x1 + 0.07 x 2 ≤ 37 0.13 x1 + 0.1x 2 + 0.08 x3 ≤ 38 20 ≤ x1 ≤ 200 0 ≤ x 2 ≤ 100 70 ≤ x3 ≤ 180 x1 , x 2 , x 3 ≥ 0 Vom crea un fişier script, mssp_ex623.m, care va conţine următoarele instrucţiuni: %Sa se rezolve problema 6.2.3. de PROGRAMARE LINIARA data in forma generala % max ( 10*x1 + 12*x2 + 15*x3 ) % cu restrictiile % (R1) 0.1*x1 + 0.12*x2 +0.15*x3 <= 36 % (R2) 0.06*x1 + 0.05*x2 + 0.09*x3 <= 30 % (R3) 0.18*x1 + 0.07*x2 <= 37 % (R4) 0.13*x1 + 0.1*x2 + 0.08*x3 <= 38 % (R5) 20 <= x1 <= 200 % (R6) 0 <= x2 <= 100 % (R7) 70 <= x3 <= 180 % x1, x2, x3 >= 0 % MODUL DE REZOLVARE IN MATLAB % Scrierea FUNCTIEI OBIECTIV f=[-10; -12;-15] % vectorul coloana al coeficientilor functiei obiectiv %Initializare x0=[ 0; 0; 0] %Scriem matricea restrictiilor a=[0.1 0.12 0.15;... -148-
Modelarea şi Simularea Sistemelor de Producţie
0.06 0.05 0.09;... 0.18 0.07 0;... 0.13 0.10 0.08] % Vectorul termenilor liberi pt. restrictiile date b=[ 36; 30; 37; 38] %Solutia trebuie sa indeplineasca conditia vmi < x < vms %Valoarea pentru marginea inferioara vmi=[ 20; 0; 70] %Valoarea pentru marginea superioara vms=[200 100 180] % Gasirea optimului prin apelarea functiei "LP" x=lp(f,a,b,vmi,vms,x0,1); x1=x(1,1) x2=x(2,1) x3=x(3,1) % Valoarea optima a functiei obiectiv Val_optim=f'*x Rularea scriptului prin comanda în mediul de lucru MATLAB, run mssp_ex623, va conduce la obţinerea următoarelor date: x1 = 36.8853 x2 = 44.2623 x3 = 180.0000 Val_optim = -3600 În concluzie soluţia optimă a problemei pentru programul de producţie dat de variabilele de decizie este: x1 = 36.8853; x2 = 44.2623; x3 = 180
f ( x ) = 3600 = max
Din produsul P1 se produc 36 unităţi, din produsul P2 se produc 44 unităţi, din produsul P3 se produc 180 unităţi. În aceste condiţii valoarea funcţiei obiectiv este de 3.600 unităţi monetare.
-149-
Aplicaţii. Studii de caz.
6.2.4. STUDIUL DE CAZ 4. Potrivit nomenclatorului său de fabricaţie o societate comercială produce cinci tipuri de repere R1, R2, R3, R4, R5 utilizând trei categorii de materii prime M1, M2, M3 . Consumurile specifice din materiile prime pentru realizarea produselor, profiturile unitare precum şi disponibilul din fiecare materie primă de-a lungul perioadei analizate sunt date în tabelul de mai jos: Reper Materia primă M1 M2 M3 Profit unitar [u.m./buc]
R1
R2
R3
R4
R5
Disponibil
0 0 1
1,2 1 1,3
1 0,5 0
1 1 2
0,5 1 1,5
1000 500 800
50
300
30
60
40
Ştiind că societatea dispune de capacitate de producţie pentru orice cantitate de repere ce urmează a fi fabricate şi că toate reperele societăţii vor putea fi desfăcute pe piaţă, să se scrie un model liniar pentru determinarea cantităţilor optime ce urmează a fi fabricate de societate din cele cinci repere, astfel încât profitul total obţinut din vânzarea acestora să fie maxim şi să se rezolve în matlab modelul creat. Notăm cu xj , j = 1, …, 5 cantitatea de repere ce urmează a fi produse Rj . Modelul matematic al problemei va conţine : - restricţii privind încadrarea în disponibilul limitat de materii prime : 1,2 x 2 + x3 + x 4 + 0,5 x5 ≤ 1000 x 2 + 0,5 x3 + x 4 + x5 ≤ 500 x + 1,3x + 2 x + 1,5 x ≤ 800 2 4 5 1 - restricţii de nenegativitate impuse variabilelor modelului prin conţinutul lor economic x j ≥ 0,
j = 1,!,5
- funcţia obiectiv de optimizat: max f = 50 x1 + 300 x 2 + 30 x3 + 60 x4 + 40 x5 Vom crea un fişier script, mssp_ex624.m, care va conţine următoarele instrucţiuni: A=[0 1.2 1 1 0.5; 0 1 0.5 1 1; 1 1.3 0 2 1.5] b=[1000; 500; 800]; x0=[0; 0; 0; 0; 0]; -150-
Modelarea şi Simularea Sistemelor de Producţie
f=[-50; -300; -30; -60; -40] lb=zeros(5,1) [x,profit]=linprog(f,A,b,[],[],lb) Rularea scriptului prin comanda în mediul de lucru MATLAB, run mssp_ex624, va conduce la obţinerea următoarelor date: x= 150.0000 500.0000 0.0000 0.0000 0.0000 profit = 1.5750e+005 Deci cantităţile optime ce urmează a fi fabricate de societate pentru a obţine un profit maxim de 157 500 u.m. , sunt: - pentru reperul 1 , 150 de bucăţi; - pentru reperul 2, 500 de bucăţi;
6.3. PLANIFICAREA DE NECESAR BRUT UTILIZÂND MATLAB Vom ilustra în acest caz modul de utilizare al programării MATLAB utilizând calculul matricial, pentru determinarea necesităţilor brute. Cazul se referă la exemplul 3 prezentat în finalul capitolului 4. Nomenclarea – se realizează în cascadă parţială referitoare la 3 produse din gamă. Aceasta nomenclare poate fi prezentată sub forma unei matrice unde coloanele reprezintă componentele, iar liniile produsele din gamă şi valorile coeficienţilor de montaj. Prin urmare obţinem matricea subansamblurilor : A B C D E F G
H 1 0 0 0
IX 0 2 0 4
IY 0 0 3 4
JX 0 1 1 0
JY 0 0 0 1
D 2 3 4
E 1 0 0
MA 0 1 0 0
F 0 1 0 MB 0 0 1 0
-151-
G 0 0 1 MC 0 0 0 1
PA 0 1 0 0
PB 0 0 1 0
PC 0 0 0 1
Aplicaţii. Studii de caz.
Matricea cumulată stabileşte legăturile dintre piese - ansamble - subansamblul şi va fi notată cu matricea [ toate nivelele] şi se obţine prin înmulţirea celor două matrici. Matrice [nivel 0] x matrice [nivel 1] 1 2 1 0 0 0 [toate nivelele] = [nivel 0] x [nivel 1] = 3 0 1 0 × 0 4 0 0 1 0
0 2 0 0
0 0 3 4
0 1 1 0
0 0 0 1
0 1 0 0
0 0 1 0
0 0 0 1
0 1 0 0
Rezultatul este prezentat: A B C
H 2 3 4
IX 2 0 0
IY 0 3 4
JX 1 1 0
JY 0 0 1
MA 1 0 0
MB 0 1 0
MC 0 0 1
PA 1 0 0
PB 0 1 0
PC 0 0 1
Programul de producţie director (PPD) PPD pot fi prezentate în forma matricială. Vom nota cu PPD matricea ce defineşte un PPD pe o anumită perioadă. Iată matricea relativă la exemplul de mai sus: Ianuarie Februarie Martie
A 100 100 100
B 50 100 150
C 200 100 300
Necesarul Brut Calculul de NB de pe nivelul 2 se obţine prin înmulţirea celor 2 matrici precedente. NB = PPD x [ toate nivelele]
100 50 200 2 2 0 1 0 1 0 0 1 0 0 NB = 100 100 100 x 3 0 3 1 0 0 1 0 0 1 0 100 150 300 4 0 4 0 1 0 0 1 0 0 1
-152-
0 0 1 0
0 0 0 1
Modelarea şi Simularea Sistemelor de Producţie
Rezultatul este următorul:
Ian Feb Mar
H
IX
IY
JX
JY
MA
MB
NC
PA
PB
PC
1150
200
950
150
200
100
50
200
100
50
200
900 1850
200 200
700 1650
200 250
100 300
100 100
100 150
100 300
100 100
100 150
100 300
Odată calculat NB, matricea poate fi utilizată la stabilirea listei de aprovizionare, fluxul de materiale sau planul de încărcare a atelierului pentru producţia dată. Pentru exemplificarea programării în MATLAB, vom crea un fişier script, mssp_ex631.m, care va conţine următoarele instrucţiuni: %Sa se rezolve problema 6.3.1. %PLANIFICAREA DE NECESAR BRUT UTILIZÂND CALCULUL MATRICIAL % Introducere date pentru necesarul de componente pt. produsele A, B, si C M_sub1(1,1)=input('Introduceti M_sub1(1,2)=input('Introduceti M_sub1(1,3)=input('Introduceti M_sub1(1,4)=input('Introduceti
necesarul necesarul necesarul necesarul
de de de de
componente componente componente componente
D E F G
pt pt pt pt
produsul produsul produsul produsul
A,val=2 A,val=1 A,val=0 A,val=0
') ') ') ')
M_sub1(2,1)=input('Introduceti M_sub1(2,2)=input('Introduceti M_sub1(2,3)=input('Introduceti M_sub1(2,4)=input('Introduceti
necesarul necesarul necesarul necesarul
de de de de
componente componente componente componente
D E F G
pt pt pt pt
produsul produsul produsul produsul
B,val=3 B,val=0 B,val=1 B,val=0
') ') ') ')
M_sub1(3,1)=input('Introduceti M_sub1(3,2)=input('Introduceti M_sub1(3,3)=input('Introduceti M_sub1(3,4)=input('Introduceti
necesarul necesarul necesarul necesarul
de de de de
componente componente componente componente
D E F G
pt pt pt pt
produsul produsul produsul produsul
C,val=4 C,val=0 C,val=0 C,val=1
') ') ') ')
%Matricea subansamblului 1
M_sub1
=[M_sub1(1,1) M_sub1(1,2) M_sub1(1,3) M_sub1(1,4);... M_sub1(2,1) M_sub1(2,2) M_sub1(2,3) M_sub1(2,4);... M_sub1(3,1) M_sub1(3,2) M_sub1(3,3) M_sub1(3,4)]
% Introducere date pentru necesarul de componente pt. produsele D, E, F si G M_sub2(1,1)=input('Introduceti M_sub2(1,2)=input('Introduceti M_sub2(1,3)=input('Introduceti M_sub2(1,4)=input('Introduceti M_sub2(1,5)=input('Introduceti M_sub2(1,6)=input('Introduceti M_sub2(1,7)=input('Introduceti
necesarul necesarul necesarul necesarul necesarul necesarul necesarul
de de de de de de de
-153-
componente componente componente componente componente componente componente
H pt produsul D,val=1 ') IX pt produsul D,val=0 ') IY pt produsul D,val=0 ') JX pt produsul D,val=0 ') JY pt produsul D,val=0 ') MA pt produsul D,val=0 ') MB pt produsul D,val=0 ')
Aplicaţii. Studii de caz. M_sub2(1,8)=input('Introduceti necesarul de componente MC pt produsul D,val=0 ') M_sub2(1,9)=input('Introduceti necesarul de componente PA pt produsul D,val=0 ') M_sub2(1,10)=input('Introduceti necesarul de componente PB pt produsul D,val=0 ') M_sub2(1,11)=input('Introduceti necesarul de componente PC pt produsul D,val=0 ') M_sub2(2,1)=input('Introduceti necesarul de componente H pt produsul E,val=0 ') M_sub2(2,2)=input('Introduceti necesarul de componente IX pt produsul E,val=2 ') M_sub2(2,3)=input('Introduceti necesarul de componente IY pt produsul E,val=0 ') M_sub2(2,4)=input('Introduceti necesarul de componente JX pt produsul E,val=1 ') M_sub2(2,5)=input('Introduceti necesarul de componente JY pt produsul E,val=0 ') M_sub2(2,6)=input('Introduceti necesarul de componente MA pt produsul E,val=1 ') M_sub2(2,7)=input('Introduceti necesarul de componente MB pt produsul E,val=0 ') M_sub2(2,8)=input('Introduceti necesarul de componente MC pt produsul E,val=0 ') M_sub2(2,9)=input('Introduceti necesarul de componente PA pt produsul E,val=1 ') M_sub2(2,10)=input('Introduceti necesarul de componente PB pt produsul E,val=0 ') M_sub2(2,11)=input('Introduceti necesarul de componente PC pt produsul E,val=0 ') M_sub2(3,1)=input('Introduceti necesarul de componente H pt produsul F,val=0 ') M_sub2(3,2)=input('Introduceti necesarul de componente IX pt produsul F,val=0 ') M_sub2(3,3)=input('Introduceti necesarul de componente IY pt produsul F,val=3 ') M_sub2(3,4)=input('Introduceti necesarul de componente JX pt produsul F,val=1 ') M_sub2(3,5)=input('Introduceti necesarul de componente JY pt produsul F,val=0 ') M_sub2(3,6)=input('Introduceti necesarul de componente MA pt produsul F,val=0 ') M_sub2(3,7)=input('Introduceti necesarul de componente MB pt produsul F,val=1 ') M_sub2(3,8)=input('Introduceti necesarul de componente MC pt produsul F,val=0 ') M_sub2(3,9)=input('Introduceti necesarul de componente PA pt produsul F,val=0 ') M_sub2(3,10)=input('Introduceti necesarul de componente PB pt produsul F,val=1 ') M_sub2(3,11)=input('Introduceti necesarul de componente PC pt produsul F,val=0 ') M_sub2(4,1)=input('Introduceti necesarul de componente H pt produsul G,val=0 ') M_sub2(4,2)=input('Introduceti necesarul de componente IX pt produsul G,val=4 ') M_sub2(4,3)=input('Introduceti necesarul de componente IY pt produsul G,val=4 ') M_sub2(4,4)=input('Introduceti necesarul de componente JX pt produsul G,val=0 ') M_sub2(4,5)=input('Introduceti necesarul de componente JY pt produsul G,val=1 ') M_sub2(4,6)=input('Introduceti necesarul de componente MA pt produsul G,val=0 ') M_sub2(4,7)=input('Introduceti necesarul de componente MB pt produsul G,val=0 ') M_sub2(4,8)=input('Introduceti necesarul de componente MC pt produsul G,val=1 ') M_sub2(4,9)=input('Introduceti necesarul de componente PA pt produsul G,val=0 ') M_sub2(4,10)=input('Introduceti necesarul de componente PB pt produsul G,val=0 ') M_sub2(4,11)=input('Introduceti necesarul de componente PC pt produsul G,val=1 ') %Matricea subansamblului 2 M_sub2 =[M_sub2(1,1) M_sub2(1,2) M_sub2(1,3) M_sub2(1,4) M_sub2(1,5) M_sub2(1,6) M_sub2(1,7) M_sub2(1,8) M_sub2(1,9) M_sub2(1,10) M_sub2(1,11);... M_sub2(2,1) M_sub2(2,2) M_sub2(2,3) M_sub2(2,4) M_sub2(2,5) M_sub2(2,6) M_sub2(2,7) M_sub2(2,8) M_sub2(2,9) M_sub2(2,10) M_sub2(2,11);... M_sub2(3,1) M_sub2(3,2) M_sub2(3,3) M_sub2(3,4) M_sub2(3,5) M_sub2(3,6) M_sub2(3,7) M_sub2(3,8) M_sub2(3,9) M_sub2(3,10) M_sub2(3,11);... M_sub2(4,1) M_sub2(4,2) M_sub2(4,3) M_sub2(4,4) M_sub2(4,5) M_sub2(4,6) M_sub2(4,7) M_sub2(4,8) M_sub2(4,9) M_sub2(4,10) M_sub2(4,11)] %Calculul matricei cumulate M_cum=M_sub1*M_sub2
-154-
Modelarea şi Simularea Sistemelor de Producţie
%Calculul Programului director de productie %Introducere date pe luni pt. produsele A, B si C PPD1(1,1)=input('Introduceti necesarul de produse A pe luna ianuarie A1_ian =100 ') PPD1(1,2)=input('Introduceti necesarul de produse B pe luna ianuarie B1_ian =50 ') PPD1(1,3)=input('Introduceti necesarul de produse C pe luna ianuarie C1_ian =200 ') PPD1(2,1)=input('Introduceti necesarul de produse A pe luna februarie A1_febr=100') PPD1(2,2)=input('Introduceti necesarul de produse B pe luna februarie B1_febr=100') PPD1(2,3)=input('Introduceti necesarul de produse C pe luna februarie B1_febr=100') PPD1(3,1)=input('Introduceti necesarul de produse A pe luna martie C1_mart =100') PPD1(3,2)=input('Introduceti necesarul de produse B pe luna martie C1_mart =150') PPD1(3,3)=input('Introduceti necesarul de produse C pe luna martie C1_mart =300')
%Matricea PPD1 PPD1 =[PPD1(1,1) PPD1(1,2) PPD1(1,3); PPD1(2,1) PPD1(2,2) PPD1(2,3); PPD1(3,1) PPD1(3,2) PPD1(3,3)] % Calculul necesar brut pt. nivelul 2 NB_niv2=PPD1*M_cum
Rularea scriptului prin comanda în mediul de lucru MATLAB, run mssp_ex631, va conduce la obţinerea următoarelor date: Introduceti necesarul de componente D pt produsul A,val=2 2 Introduceti necesarul de componente E pt produsul A,val=1 1 Introduceti necesarul de componente F pt produsul A,val=0 0 Introduceti necesarul de componente G pt produsul A,val=0 0 Introduceti necesarul de componente D pt produsul B,val=3 3 Introduceti necesarul de componente E pt produsul B,val=0 0 Introduceti necesarul de componente F pt produsul B,val=1 1 Introduceti necesarul de componente G pt produsul B,val=0 0 Introduceti necesarul de componente D pt produsul C,val=4 4 Introduceti necesarul de componente E pt produsul C,val=0 0 Introduceti necesarul de componente F pt produsul C,val=0 0 Introduceti necesarul de componente G pt produsul C,val=1 1 M_sub1 = 2 3 4
1 0 0
0 1 0
0 0 1 -155-
Aplicaţii. Studii de caz.
Introduceti necesarul de componente H pt produsul D,val=1 1 Introduceti necesarul de componente IX pt produsul D,val=0 0 Introduceti necesarul de componente IY pt produsul D,val=0 0 Introduceti necesarul de componente JX pt produsul D,val=0 0 Introduceti necesarul de componente JY pt produsul D,val=0 0 Introduceti necesarul de componente MA pt produsul D,val=0 0 Introduceti necesarul de componente MB pt produsul D,val=0 0 Introduceti necesarul de componente MC pt produsul D,val=0 0 Introduceti necesarul de componente PA pt produsul D,val=0 0 Introduceti necesarul de componente PB pt produsul D,val=0 0 Introduceti necesarul de componente PC pt produsul D,val=0 0 Introduceti necesarul de componente H pt produsul E,val=0 0 Introduceti necesarul de componente IX pt produsul E,val=2 2 Introduceti necesarul de componente IY pt produsul E,val=0 0 Introduceti necesarul de componente JX pt produsul E,val=1 1 Introduceti necesarul de componente JY pt produsul E,val=0 0 Introduceti necesarul de componente MA pt produsul E,val=1 1 Introduceti necesarul de componente MB pt produsul E,val=0 0 Introduceti necesarul de componente MC pt produsul E,val=0 0 Introduceti necesarul de componente PA pt produsul E,val=1 1 Introduceti necesarul de componente PB pt produsul E,val=0 0 Introduceti necesarul de componente PC pt produsul E,val=0 0 Introduceti necesarul de componente H pt produsul F,val=0 0 Introduceti necesarul de componente IX pt produsul F,val=0 0 Introduceti necesarul de componente IY pt produsul F,val=3 3 Introduceti necesarul de componente JX pt produsul F,val=1 1 Introduceti necesarul de componente JY pt produsul F,val=0 0 Introduceti necesarul de componente MA pt produsul F,val=0 0 Introduceti necesarul de componente MB pt produsul F,val=1 1 Introduceti necesarul de componente MC pt produsul F,val=0 0 Introduceti necesarul de componente PA pt produsul F,val=0 0 Introduceti necesarul de componente PB pt produsul F,val=1 1 Introduceti necesarul de componente PC pt produsul F,val=0 0 Introduceti necesarul de componente H pt produsul G,val=0 0 Introduceti necesarul de componente IX pt produsul G,val=4 4 Introduceti necesarul de componente IY pt produsul G,val=4 4 Introduceti necesarul de componente JX pt produsul G,val=0 0 Introduceti necesarul de componente JY pt produsul G,val=1 1 Introduceti necesarul de componente MA pt produsul G,val=0 0 Introduceti necesarul de componente MB pt produsul G,val=0 0 Introduceti necesarul de componente MC pt produsul G,val=1 1 Introduceti necesarul de componente PA pt produsul G,val=0 0 Introduceti necesarul de componente PB pt produsul G,val=0 0 -156-
Modelarea şi Simularea Sistemelor de Producţie
Introduceti necesarul de componente PC pt produsul G,val=1 1 M_sub2 = 1 0 0 0
0 2 0 4
0 0 3 4
0 1 1 0
0 0 0 1
0 1 0 0
0 0 1 0
0 0 0 1
0 1 0 0
0 0 1 0
0 0 0 1
0 3 4
1 1 0
0 0 1
1 0 0
0 1 0
0 0 1
1 0 0
0 1 0
0 0 1
M_cum = 2 3 4
2 0 4
Introduceti necesarul de produse A pe luna ianuarie A1_ian =100 100 Introduceti necesarul de produse B pe luna ianuarie B1_ian =50 50 Introduceti necesarul de produse C pe luna ianuarie C1_ian =200 200 Introduceti necesarul de produse A pe luna februarie A1_febr =100 100 Introduceti necesarul de produse B pe luna februarie B1_febr =100 100 Introduceti necesarul de produse C pe luna februarie B1_febr =100 100 Introduceti necesarul de produse A pe luna martie C1_mart =100 100 Introduceti necesarul de produse B pe luna martie C1_mart =150 150 Introduceti necesarul de produse C pe luna martie C1_mart =300 300 PPD1 = 100 50 200 100 100 100 100 150 300 NB_niv2 = Columns 1 through 6 1150 900 1850
1000 600 1400
950 700 1650
150 200 250
100 100 100
50 100 150
200 100 300
100 100 100
Columns 7 through 11 50 100 150
200 100 300
200 100 300
-157-
Bibliografie
BIBLIOGRAFIE [1]. [2]. [3]. [4]. [5]. [6]. [7]. [8]. [9]. [10]. [11]. [12]. [13]. [14]. [15]. [16]. [17]. [18]. [19]. [20]. [21]. [22]. [23].
Abrudan I., „Ingineria şi Managementul Sistemelor de Producţie”, Editura Dacia, Cluj Napoca, 2002; Ackoff R. L., „Bazele cercetării operaţionale”, Editura Tehnică, Bucureşti 1975; Baltac V., Davidoviciu A., “Cercetarea şi proiectarea asistată de calculator în industria construcţiilor de maşini”., Editura Academiei, Bucureşti, 1987; Băloiu M.L., „Managementul inovaţiei”, Editura Eficient, Bucureşti, 1997; Bibu N. A., “Managementul sistemelor flexibile”, Editura Sedona, Timişoara, 1998; Bertalanffy, L von „General System Theory”, Editura George Braziller, 1968; Blajină O., “Programarea liniară”, Ed. Printech, 1999; Blajină O., “Cercetări operaţionale”, Ed.Printech, 2001; Boldur-Lăţescu G., Săcuiu I., Ţigănescu E. , “Cercetare operaţională cu aplicaţii în economie”, Ed. Didactică şi Pedagogică, Bucureşti, 1979; Braesch Christian ş.a, „La modelisation systemique en entreprises”, Editura Hermes, Paris, 1995; Ciobanu Gh., Nica V., Mustaţă F., Mărăcine V., “Cercetări operaţionale cu aplicaţii în economie”, Ed. MatrixRom, Bucureşti, 1996; Ciobanu Gh., Nica V., Mustaţă F., Mărăcine V., Mitruţ D., “Cercetări Operaţionale”, Ed. MatrixRom, Bucureşti, 2002; Cocan C., Vasilescu A., „Programarea matematică folosind MS EXCEL SOLVER, Management Scientist, MathLab”, Editura Albastră, Cluj Napoca 1999; Cornescu V., Mihăilescu I., Stanciu S., „Management”, Editura ATTR, Bucureşti, 1999; Dobre I. DOBRE, Mustaţă F., „Simularea proceselor economice”, Editura Inforec, 1996; Dodescu G. ş.a. „Simularea sistemelor”, Editura Militară, Bucureşti, 1986; Dumitrescu M. ş.a., „Proiectarea sistemelor de organizare şi conducere”, Editura Ştiinţifică şi Enciclopedică, Bucureşti , 1987; Ivan N. ş.a., „Proiectare tehnologică asistată de calculator”, Editura Teora, Bucureşti, 1994; Gheorghiţă M., „Modelarea şi simularea proceselor economice”, Curs, Centrul editorial poligrafic A.S.E., Bucureşti, 1994; Le Moigne, J.L. , „La theorie du systeme general. Theorie de la modelisation”, Ed. Presses, Univ. de France, Paris, 1977; Melnic L.V., Zăgan R., Chircor M., „Cercetări operaţionale”, Note de curs, Constanţa, 2004; Neagu C., “Modele de programare şi conducere a proceselor economice”, EDPRA, Bucureşti, 1995; Neagu C., Melnic L., Roşu M. – Managementul operaţional al proiectelor – Ed Bren, Bucureşti, 2002; -158-
Modelarea şi simularea sistemelor de producţie
[24].
Nica V.T. şi Mărăcine V., „Modelarea activităţii firmei”, Ed. MatrixRom, Bucureşti, 2001; [25]. Popescu I.A., Rădulescu D. , “Modelarea sistemelor de producţie”,Editura Tehnică, Bucureşti 1986 [26]. Raţiu Suciu C., „Modelarea şi simularea proceselor economice în industrie”, Lito ASE, Bucureşti, 1991; [27]. Raţiu Suciu C., „Modelarea şi simularea proceselor economice”, Editura Didactică şi Pedagogică , Bucureşti, 1997; [28]. Russu C. , „Management”, Editura Expert, Bucureşti, 1993; [29]. Stoica M. , „Modelarea microeconomică”, Editura Ştiinţă & Artă AISTEDA, Omega Pro, 1994; [30]. Stoica M., ş.a., „Modelarea procedurală”, Editura Scrisul Românesc, Craiova, 1985; [31]. Savu T., “Modelarea şi simularea sistemelor şi proceselor de producţie”, Editura Printech, Bucureşti, 1999; [32]. Sava T., „”Modelarea şi simularea sistemelor de fabricaţie în LabView”, Revista Masurari si Automatizari; Anul II, nr. 2 / 2002, Bucureşti, 2002; [33]. Văduva I., „Modele de simulare cu calculatorul”, Editura Tehnică, Bucureşti, 1977; [34]. Verboncu I. – „Manageri & management”, Editura Economică, Bucureşti, 2000; [35]. Zadeh L.A., Polak E., „Teoria sistemelor”, Editura Tehnică, Bucureşti, 1973; *** Coleman T, Branch M.A., Grace A., „Optimization Toolbox”, for use with MATLAB®, The MathWorks Inc., 1996 *** Partial Differential Equation Toolbox, user’s guide, MATLAB®, The MathWorks Inc., 1999;
-159-