SlideShare a Scribd company logo
1 of 15
EXAMEN MNI
CURSUL 6
Cercetările operaţionale (CO) sunt o ramură a matematicilor aplicate
care utilizează diferite metode pentru a atinge soluţii optime sau
aproape optime pentru probleme complexe
Probleme tip ale CO
➢Probleme de alocare: distribuirea şi repartizarea resurselor.
➢Optimizări.
➢Teoria stocurilor.
➢Teoria reînnoirii utilajelor-echipamentelor şi fiabilitate.
➢Programarea dinamică.
➢Teoria aşteptării.
➢Probleme de ordonanţare şi de ordonare (Pert şi drum critic)
➢Probleme de drumuri şi reţele.
➢Probleme de competiţie (teoria jocurilor).
➢Probleme de căutare.
➢Probleme de decizie
Etapele unei cercetări operaţionale [KOL95]
De obicei departamentul management al unei firme identifică
problema de CO pe care o rezolvă analistul CO, de obicei acesta
are rol de consultant.
1. Definirea problemei şi formularea ei. Este definit clar scopul
studiului bazat pe CO, într-o primă etapă, rolul consultantului CO este
de a ajuta departamentul management să-şi clarifice obiectivele, apoi
acesta trebuie să identifice variantele decizionale care pot fi filtrate de
limitările de capital, forţă de muncă, tehnologiile existente etc.
2. Elaborarea modelului. Consultantul CO dezvoltă modelul
matematic al problemei. Limitările, restricţiile trebuie traduse în
termeni matematici. În multe cazuri scopurile pot fi cuantificate în
expresii matematice care trebuie maximizate/minimizate.
Alternativele decizionale sunt variabilele problemei.
3. Soluţia modelului. Metoda de rezolvare a modelului trebuie să fie
relativ simplă. Nu sunt rare situaţiile în care nu există metodă de
rezolvare şi aceasta trebuie dezvoltată, eventual apelându-se la
euristică, sau se revine la etapa a 2-a şi se revizuieşte modelul.
4. Analiza sensibilităţii. Frecvent valorile numerice pe baza căruia
consultantul CO a elaborat modelul matematic sunt aproximative.
Este important să se determine cum se modifică soluţia la variaţia
datelor de intrare. Pentru multe probleme standard s-au elaborat
tehnici care rezolvă problema analizei sensibilităţii.
5. Evaluarea modelului. După ce a fost obţinută soluţia consultantul
CO determină dacă acesta răspunde cerinţelor firmei,este realist,
poate fi implementată.
6. Implementarea studiului CO de către firmă. Managementul firmei
decide cum va implementa rezultatele studiului.Uneori se întâmplă ca
acesta să fie ignorat din cauza proastei comunicări între management
şi consultantul CO sau din cauza măsurilor prea radicale pe care le
propune, de cele mai multe ori din ignorarea unor limitări/restricţii ale
problemei
DEFINIRE OPTIMIZĂRI
În matematică, termenul de optimizare sau de programare matematică
se referă la studiul unor probleme în care se caută
maximizarea/minimizarea uneia sau mai multor funcţii reale (funcţii
scop, funcţii obiectiv) în condiţiile în care variabilele aparţin unei
mulţimi determinate de limitarea unor resurse (restricţiile problemei)
Structura unei probleme de programare matematică (PM) este
formată din patru elemente de bază:
1. Funcţia/iile obiectiv (FO) care trebuie maximizată/e/minimizată/e.
De exemplu în producţie se urmăreşte maximizarea profitului,
minimizarea costului, minimizarea consumului de energie,
maximizarea productivității.
2. Variabilele/necunoscutele problemei. De exemplu în producţie
variabilele problemei pot fi cantităţile diferitelor materiale,
semifabricate sau timpii necesari desfăşurării unor operaţii.
3. Restricţiile care limitează valorile variabilelor la anumite mulţimi.
De exemplu în producţie timpii de execuţie nu pot avea valori
negative, cantităţile disponibile de materiale, semifabricate sunt
limitate. Restrictiile au forma unor inecuatii, ecuatii.
4. Parametrii problemei. Sunt date de intrare care, în general pot fi
modificate, de exemplu preţuri de materii prime, materiale
didponibile, consumuri specifice
Deci o problemă de minimizare/maximizare în programarea
matematică impune determinarea componentelor vectorului
variabilelor problemei
X=[x1, x2, ... ,xn]T
care minimizează/ maximizează funcţia obiectiv
F(X) → minim/maxim
În prezenţa restricţiilor
ri(X) {≥; = ; ≤} o, i=1,2, ... ,m
CURSUL7
ETAPELE SCRIERII UNUI PROGRAM
(exemplificate prin aplicația din slide-ul anterior)
1. Se scrie numele programului urmat între paranteze rotunde de lista
parametrilor formali despărțiți prin virgule, după care se introduce
simbolul de atribuire
2. Din grupul Programming clic pe sau pe tasta ] pentru introducerea
unei structuri, dacă se repetă operația Mathcad generează în
continuare mai multe astfel de structuri. Într-una se poate scrie doar o
instrucțiune
3. Pentru exemplul din slide-ul anterior se scrie numele variabilei
contor n urmată de simbolul de atribuire specific programelor
Mathcad prin sau tasta {. Pentru inițializarea contorului în dreapta
acestuia se scrie 0
4. Se introduce o nouă structură apăsând tasta Enter.
5. Se inserează instrucțiunea repetitivă FOR, în placeholder-ul din
stânga simbolului este numele indexului iar în partea dreaptă o VPA
cu rație 1, completată pentru generalitate cu valoarea de start ORIGIN
și ultima valoare calculată cu funcția last(v).
6. În placeholder-ul corpului instrucțiunii FOR se inserează
instrucțiunea condițională IF pentru selectarea elementelor mai mici
decât a și indexarea acestora prin variabila n.
7. Pentru afișarea ultimei valori a variabilei n se apasă de mai multe
ori tasta Space până este cuprinsă toată structura FOR.
8. Se apasă tasta Enter și paceholder-ul se completează cu numelE
variabilei de ieșire n
Reguli de elaborare a programelorMathcad 3.0
Un program Mathcad poate apela orice funcție predefinită, sau
creată de utilizator, variabile definite de utilizator, alte programe, cu
respectarea condițiilor de vizibilitate. În lista parametrilor formali pot
fi introduse și nume de funcții.
Instrucțiunile de programare se introduc doar prin intermediul
simbolurilor din grupul paletei Programming, sau prin hot keys, nu
prin scrierea lor caracter cu caracter.
Pe o linie de program Mathcad se poate scrie doar o instrucțiune.
Ca orice expresie, un program Mathcad returnează o valoare de
natură scalară, vectorială, matriceală, matriceală imbricată sau șir de
caractere (string). Aceasta este în general returnată de ultima
instrucțiune executată de program. Sunt posibile mai multe ieșiri din
program, prin întreruperea programului, cu instrucțiunea RETURN
O variabilă definită într-un program este locală programului, deci
nu este vizibilă in exteriorul corpului acestuia.
În programele Mathcad poate fi aplicată recursivitatea.
Într-un program Mathcad este posibilă utilizarea VPA doar cazul
instrucțiunii FOR.
Pentru a introduce comentarii în program se pot utiliza string-
uri prin instrucțiunea error
Operatorul de asignare (atribuire) se poate utiliza doar
in corpul unui program Mathcad. Acesta se insereaza din grupul
Programming, sau cu tasta [ { ];
OPERATORI CONDIȚIONALI ÎN MATHCAD PRIME 3.0
În Mathcad Prime 3.0 există patru operatori condiționali: if, else, else
if și also if. S-a renunțat la otherwise existent în versiunile mai vechi,
care a fost înlocuit cu else și în plus au fost introduși else if și also if
care permit o flexibilitate mărită în programare.
Operatorul if ( sau tasta })
Sintaxa:
Dacă condiția nu este satisfăcută se execută următoarea linie a
programului.
Operatorul if-else
Sintaxa:
Operatorul else if
Operatorul else if (altfel dacă) poate fi utilizat doar dacă urmează
după instrucțiunea if . Nu este posibilă utilizarea împreună a
operatorilor else if și also if cu același operator if
Operatorul also if
La fel ca operatorul else if (altfel dacă) operatorul also if (de
asemenea dacă) poate fi utilizat doar dacă urmează după
instrucțiunea if Nu este
posibilă utilizarea împreună a operatorilor else if și also if cu același
operator if.
OPERATORI REPETITIVI ÎN MATHCAD 3.0
Operatorul FOR ( sau combinația de taste Ctrl+Shif+”)
Operatorul FOR este folosit când se cunoaște numărul de cicluri.
Uzual iterațiile sunt realizate de VPA, dar poate fi utilizat un vector
Operatorul WHILE ( sau combinația de taste Ctrl+])
Instrucțiunea WHILE se utilizează uzual dacă nu se cunoaște numărul
de cicluri, ieșirea din calculele repetitive făcându-se când nu mai este
îndeplinită condiția. Aceasta trebuie să se refere la o variabilă,
expresie care se modifică în corpul
ciclului, fiindcă în caz contrar ciclul rulează la infinit. Dacă inițial
condiția nu este satisfăcută expresia nu este evaluată niciodată
INSTRUCŢIUNI PENTRU CONTROLUL EXECUŢIEI PROGRAMULUI
Mathcad pune la dispoziţia utilizatorului trei instrucţiuni cu rol de
întrerupere a rulării programului, enumerate mai jos, în ordinea
descrescătoare a efectului:
1. RETURN întrerupe programul;
2. BREAK întrerupe un ciclu;
3. CONTINUE întrerupe o iteraţie.
Instrucţiunile RETURN, BREAK, CONTINUE se inserează din paleta
Programming sau cu combinaţiile de taste: [Ctrl]+ [], respectiv
[Ctrl]+ [{ ], respectiv [Ctrl]+ [[].
Ca şi în cazul celorlalte instrucţiuni de programare este interzisă
inserarea prin tastatură literă cu literă.
Instrucţiunea RETURN
Instrucţiunea RETURN permite întreruperea rulării programului şi
returnarea unei valori calculate, oriunde în corpul programului.
Sintaxa:
RETURN expresia sau şirul de caractere care se returnează
Deseori, instrucţiunea RETURN se utilizează în combinaţie cu
instrucţiunea IF
RETURN expresie returnată IF condiţia (expresia booleană)
Instrucţiunea BREAK
Instructiunea BREAK se utilizeazã în corpul instructiunilor ciclice FOR,
sau WHILE pentru intreruperea ciclului şi executarea instrucţiunii
imediat urmatoare după ciclu.
Sintaxa:
Instrucţiunea BREAK se utilizează în combinaţie cu instrucţiunea IF:
BREAK IF condiţia (expresia booleană)
Instrucţiunea CONTINUE
Instrucţiunea CONTINUE se utilizează în corpul instrucţiunilor ciclice,
pentru întreruperea unei iteraţii a
ciclului şi executarea instrucţiunii imediat următoare din ciclu.
Sintaxa:
La fel ca instrucţiunile anterioare, CONTINUE se utilizează în
combinaţie cu instrucţiunea IF:
CONTINUE IF condiţia (expresia booleană)
CURSUL8
Interpolarea constă în găsirea unei funcţii, F(x), care să permită,
pentru valori oarecare a lui x, situate în intervalul [x1,xn], estimarea
valorilor funcţiei f(x). O condiţie necesară pentru determinarea
funcţiei de interpolare, F(x), este coincidenţa cu funcţia f(x) în valorile
nodale (F(x) trece prin puncte).
Interpolarea se recomandă a fi utilizată când:
− valorile experimentale sunt relativ precise,
neafectate de erori semnificative;
− numărul de valori experimentale este relativ mic,
nerespectarea acestei condiţii, conduce la obţinerea unor
relaţii complexe, greu de utilizat;
− funcţia f(x) este cunoscută, dar expresia ei este
complicată şi/sau foarte greu de evaluat şi manipulat.
Prin extrapolare se înţelege operaţia matematică ce
constă în găsirea unei funcţii, F(x), care să permită
estimarea valorilor funcţiei f(x), pentru valori oarecare a
lui x, situate în afara intervalului în care sunt determinate
punctele nodale, (x < x1 )U(xn < x).
INTERPOLAREA LINIARĂ
Interpolarea liniară reprezintă cea mai simplă formă de interpolare care
unește printr-un segment de dreaptă punctele de sprijin
adiacente.
Interpolarea liniară poate genera erori mari în cazul unor funcții cu
variații rapide.
În Mathcad 3.0. valorile de interpolare liniară se determină cu funcția
linterp.
Sintaxa funcției linterp(Vx, Vy, x):
- Vx, Vy – reprezintă doi vectori coloană, Vx cu elemente reale, Vy cu
elemente reale sau complexe, cu aceleași dimensiuni (n linii × 1
coloană). Vectorii Vx, Vy conțin valorile absciselor și respectiv a
ordonatelor, pentru n puncte. Valorile din vectorul Vx trebuie să fie
ordonate crescător.
- x – reprezintă valoarea abscisei unui punct, a cărui ordonată
urmează a fi determinată prin interpolare liniară.
- Valoarea returnată: un număr real care reprezintă valoarea
calculată prin interpolare liniară.
INTERPOLAREA SPLINE
Interpolarea polinomială de tip spline se aplică pe diviziuni: a = x1 <
x2 <...< xi <...< xn = b în intervalului [a,b].
O funcție spline polinomială F(x) de gradul p cu nodurile în punctele
xi, i ∈1,n , are următoarele proprietăți:
a. Pe fiecare subinterval [xi ,xi+1 ], F(x) este un polinom de gradul p;
b. F(x) și primele sale (p-1) derivate sunt continue pe [a,b].
Deoarece funcția spline F(x) are primele (p-1) derivate continue pe
[a,b], derivata de ordinal p fiind discontinuă în nodurile xi ale
diviziunii, aceasta este o funcție netedă pe porțiuni. Gradul de
netezime este dat de ordinul p.
INTERPOLAREACUBICĂSPLINE BIDIMENSIONALĂÎN MATHCAD
În Mathcad există trei funcții predefinite pentru interpolarea cubică
spline:
- lspline(Vx,Vy) (l de la liniar);
- pspline(Vx,Vy) (p de la parabolic);
- cspline(Vx,Vy) (c de la cubic).
EXTRAPOLĂRI
Regresia și interpolarea determină valorile parametrilor unei funcții
care de exemplu aproximează datele experimentale și permit
estimarea valorilor funcției f(x), pentru valori oarecare ale lui x,
situate în interiorul intervalului în care sunt determinate punctele
nodale.
Sintaxafuncției predict(Vy,m,p):
- Vy reprezintă un vector cu elemente reale, cu n linii ce conține valorile
ordonatelor, pentru n puncte având abscisele situate la intervale egale;
- m, p – două numere întregi, m > 0, p > 0, m este numărul de puncte
terminale pe baza cărora se face extrapolarea, p este numărulde
puncte extrapolate.
- Funcțiapredict returnează un vector cu p elemente care conține
valorile ordonatelor celor p puncte.
Pentru aplicareacorectă a extrapolării trebuie respectate condițiile:
- 0<m<numărulde elemente ale vectorului Vy (length(v)), în practicăm
trebuie să fie multmai mic decât length(v). Rezultate aberante se obțin
și dacă numărulde elemente ale vectorului Vy este relativ mic. În
exemplul 6 deși au fost luate în considerare doar 4 puncte terminale se
obține o predicție eronată. Acest fenomen nu apare dacă sunt
procesate un număr mare de noduri (vezi exemplul 7).
- Se pot obține puncte de predicție la capătul inferior al intervalului
dacă se inversează ordinea vectorului Vy (funcția reverse (Vy)).
- Funcțiapredict duce la rezultate mulțumitoaredacă coordonatele
vecine nu au variații foarte mari, pot fi oscilatorii, nu neapărat
periodice
CURSUL9
REGRESIA LINIARĂ REZOLVATĂ CU FUNCŢIILE MATHCAD
Dacă dreapta de regresie se scrie y=A+Bx, iar cu Vx şi Vy se notează
doi vectori reali conţinând coordonatele punctelor, pentru regresia
liniară Mathcad pune la dispoziţie funcţiile:
Funcţia line:
Formatul funcţiei:line(Vx,Vy);
Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente
absciselor şi respectiv a ordonatelor, pentru cele n puncte printre
care se trasează dreapta de regresie;
calculate ale parametrilor dreptei de regresie (A şi B).
Funcţia intercept:
Formatul funcţiei:intercept(Vx,Vy);
Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente
absciselor şi respectiv a ordonatelor, pentru cele n puncte printre
care se trasează dreapta de regresie;
Valoarea returnată: valoarea parametrului A al dreptei de regresie (A
reprezintă ordonata punctului de intersecţie al dreptei de regresie cu
axa Oy).
Funcţia slope:
Formatul funcţiei: slope(Vx,Vy);
Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente
in valorile
absciselor şi respectiv a ordonatelor, pentru cele n puncte printre
care se trasează dreapta de regresie;
Valoarea returnată: valoarea parametrului B, al dreptei de regresie
(B reprezintă panta (tan(α)) dreptei de regresie )
Funcția medfit
Sintaxa funcției: medfit(Vx,Vy): Vx, Vy doi vectori cu elemente reale
și cu aceleași dimensiuni conținând valorile absciselor și respectiv a
ordonatelor, pentru cele n puncte printre care se trasează dreapta
mediană;
Funcția medfit returnează un vector care conține valorile calculate
parametrilor dreptei mediane y=a+bx.
Funcția medfit împarte punctele în trei mulțimi cu aproximativ
același număr de elemente. Se iau în considerare primul și ultimul
grup de puncte și se calculează valorile mediane ale coordonatelor
pentru mulțimile extreme (x1Me,y1Me) (x2Me, y2Me), vezi funcția
median.Dreapta trece prin punctul cu coordonate media
coordonatelor medianelor celor trei grupuri (0,33(x1+x2+x3),
0,33(y1+y2+y3)).
Funcția polyfit:polyfit(X, Y, n/"termeni"/M) se utilizează pentru
determinarea suprafețelor de regresie polinomiale (/ are semnificația
de sau).
Funcția polyfitc :polyfitc(X,Y, n/"terms"/M, [conf]): primii cinci
parametri au aceleași semnificații ca și pentru funcția polyfit, ultimul
conf=0-1 este opțional și se referă la intervalul de încredere, dacă nu
este utilizat, Mathcad folosește valoarea implicită 95%.
Funcția polyfitstat:polyfitstat(X, Y, n/"terms"/M, [conf]): are
parametri identici cu ai funcției polyfitc, returnează date statistice
Funcțile rationalfit și rationalfitpn
Funcțiile raționale cu care operează rationalfit și rationalfitnp au
forma
Cele două funcții returnează câte o matrice cu trei coloane: prima
coloană conține coeficienții polinoamelor de la numărător și
numitor, a doua și a treia limitele la stânga, respectiv dreapta
corespunzătoare intervalului de încredere.
Funcția rationalfit:rationalfit(vx, vy, conf, m, n, [Stdy], [LBUB], [Acc],
["noscale"])
Funcția rationalfit:rationalfit(vx, vy, conf, m, n, [Stdy], [LBUB], [Acc],
["noscale"])

More Related Content

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by HubspotMarius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTExpeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsPixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

EXAMEN MNI 5-9.docx

  • 1. EXAMEN MNI CURSUL 6 Cercetările operaţionale (CO) sunt o ramură a matematicilor aplicate care utilizează diferite metode pentru a atinge soluţii optime sau aproape optime pentru probleme complexe Probleme tip ale CO ➢Probleme de alocare: distribuirea şi repartizarea resurselor. ➢Optimizări. ➢Teoria stocurilor. ➢Teoria reînnoirii utilajelor-echipamentelor şi fiabilitate. ➢Programarea dinamică. ➢Teoria aşteptării. ➢Probleme de ordonanţare şi de ordonare (Pert şi drum critic) ➢Probleme de drumuri şi reţele. ➢Probleme de competiţie (teoria jocurilor). ➢Probleme de căutare. ➢Probleme de decizie Etapele unei cercetări operaţionale [KOL95] De obicei departamentul management al unei firme identifică problema de CO pe care o rezolvă analistul CO, de obicei acesta are rol de consultant. 1. Definirea problemei şi formularea ei. Este definit clar scopul studiului bazat pe CO, într-o primă etapă, rolul consultantului CO este de a ajuta departamentul management să-şi clarifice obiectivele, apoi acesta trebuie să identifice variantele decizionale care pot fi filtrate de limitările de capital, forţă de muncă, tehnologiile existente etc. 2. Elaborarea modelului. Consultantul CO dezvoltă modelul matematic al problemei. Limitările, restricţiile trebuie traduse în termeni matematici. În multe cazuri scopurile pot fi cuantificate în expresii matematice care trebuie maximizate/minimizate. Alternativele decizionale sunt variabilele problemei. 3. Soluţia modelului. Metoda de rezolvare a modelului trebuie să fie
  • 2. relativ simplă. Nu sunt rare situaţiile în care nu există metodă de rezolvare şi aceasta trebuie dezvoltată, eventual apelându-se la euristică, sau se revine la etapa a 2-a şi se revizuieşte modelul. 4. Analiza sensibilităţii. Frecvent valorile numerice pe baza căruia consultantul CO a elaborat modelul matematic sunt aproximative. Este important să se determine cum se modifică soluţia la variaţia datelor de intrare. Pentru multe probleme standard s-au elaborat tehnici care rezolvă problema analizei sensibilităţii. 5. Evaluarea modelului. După ce a fost obţinută soluţia consultantul CO determină dacă acesta răspunde cerinţelor firmei,este realist, poate fi implementată. 6. Implementarea studiului CO de către firmă. Managementul firmei decide cum va implementa rezultatele studiului.Uneori se întâmplă ca acesta să fie ignorat din cauza proastei comunicări între management şi consultantul CO sau din cauza măsurilor prea radicale pe care le propune, de cele mai multe ori din ignorarea unor limitări/restricţii ale problemei DEFINIRE OPTIMIZĂRI În matematică, termenul de optimizare sau de programare matematică se referă la studiul unor probleme în care se caută maximizarea/minimizarea uneia sau mai multor funcţii reale (funcţii scop, funcţii obiectiv) în condiţiile în care variabilele aparţin unei mulţimi determinate de limitarea unor resurse (restricţiile problemei) Structura unei probleme de programare matematică (PM) este formată din patru elemente de bază: 1. Funcţia/iile obiectiv (FO) care trebuie maximizată/e/minimizată/e. De exemplu în producţie se urmăreşte maximizarea profitului, minimizarea costului, minimizarea consumului de energie, maximizarea productivității. 2. Variabilele/necunoscutele problemei. De exemplu în producţie variabilele problemei pot fi cantităţile diferitelor materiale, semifabricate sau timpii necesari desfăşurării unor operaţii. 3. Restricţiile care limitează valorile variabilelor la anumite mulţimi. De exemplu în producţie timpii de execuţie nu pot avea valori
  • 3. negative, cantităţile disponibile de materiale, semifabricate sunt limitate. Restrictiile au forma unor inecuatii, ecuatii. 4. Parametrii problemei. Sunt date de intrare care, în general pot fi modificate, de exemplu preţuri de materii prime, materiale didponibile, consumuri specifice Deci o problemă de minimizare/maximizare în programarea matematică impune determinarea componentelor vectorului variabilelor problemei X=[x1, x2, ... ,xn]T care minimizează/ maximizează funcţia obiectiv F(X) → minim/maxim În prezenţa restricţiilor ri(X) {≥; = ; ≤} o, i=1,2, ... ,m CURSUL7 ETAPELE SCRIERII UNUI PROGRAM (exemplificate prin aplicația din slide-ul anterior) 1. Se scrie numele programului urmat între paranteze rotunde de lista parametrilor formali despărțiți prin virgule, după care se introduce simbolul de atribuire 2. Din grupul Programming clic pe sau pe tasta ] pentru introducerea unei structuri, dacă se repetă operația Mathcad generează în continuare mai multe astfel de structuri. Într-una se poate scrie doar o instrucțiune 3. Pentru exemplul din slide-ul anterior se scrie numele variabilei contor n urmată de simbolul de atribuire specific programelor Mathcad prin sau tasta {. Pentru inițializarea contorului în dreapta acestuia se scrie 0 4. Se introduce o nouă structură apăsând tasta Enter.
  • 4. 5. Se inserează instrucțiunea repetitivă FOR, în placeholder-ul din stânga simbolului este numele indexului iar în partea dreaptă o VPA cu rație 1, completată pentru generalitate cu valoarea de start ORIGIN și ultima valoare calculată cu funcția last(v). 6. În placeholder-ul corpului instrucțiunii FOR se inserează instrucțiunea condițională IF pentru selectarea elementelor mai mici decât a și indexarea acestora prin variabila n. 7. Pentru afișarea ultimei valori a variabilei n se apasă de mai multe ori tasta Space până este cuprinsă toată structura FOR. 8. Se apasă tasta Enter și paceholder-ul se completează cu numelE variabilei de ieșire n Reguli de elaborare a programelorMathcad 3.0 Un program Mathcad poate apela orice funcție predefinită, sau
  • 5. creată de utilizator, variabile definite de utilizator, alte programe, cu respectarea condițiilor de vizibilitate. În lista parametrilor formali pot fi introduse și nume de funcții. Instrucțiunile de programare se introduc doar prin intermediul simbolurilor din grupul paletei Programming, sau prin hot keys, nu prin scrierea lor caracter cu caracter. Pe o linie de program Mathcad se poate scrie doar o instrucțiune. Ca orice expresie, un program Mathcad returnează o valoare de natură scalară, vectorială, matriceală, matriceală imbricată sau șir de caractere (string). Aceasta este în general returnată de ultima instrucțiune executată de program. Sunt posibile mai multe ieșiri din program, prin întreruperea programului, cu instrucțiunea RETURN O variabilă definită într-un program este locală programului, deci nu este vizibilă in exteriorul corpului acestuia. În programele Mathcad poate fi aplicată recursivitatea. Într-un program Mathcad este posibilă utilizarea VPA doar cazul instrucțiunii FOR. Pentru a introduce comentarii în program se pot utiliza string- uri prin instrucțiunea error Operatorul de asignare (atribuire) se poate utiliza doar in corpul unui program Mathcad. Acesta se insereaza din grupul Programming, sau cu tasta [ { ]; OPERATORI CONDIȚIONALI ÎN MATHCAD PRIME 3.0 În Mathcad Prime 3.0 există patru operatori condiționali: if, else, else if și also if. S-a renunțat la otherwise existent în versiunile mai vechi, care a fost înlocuit cu else și în plus au fost introduși else if și also if care permit o flexibilitate mărită în programare. Operatorul if ( sau tasta })
  • 6. Sintaxa: Dacă condiția nu este satisfăcută se execută următoarea linie a programului. Operatorul if-else Sintaxa: Operatorul else if Operatorul else if (altfel dacă) poate fi utilizat doar dacă urmează după instrucțiunea if . Nu este posibilă utilizarea împreună a operatorilor else if și also if cu același operator if
  • 7. Operatorul also if La fel ca operatorul else if (altfel dacă) operatorul also if (de asemenea dacă) poate fi utilizat doar dacă urmează după instrucțiunea if Nu este posibilă utilizarea împreună a operatorilor else if și also if cu același operator if. OPERATORI REPETITIVI ÎN MATHCAD 3.0 Operatorul FOR ( sau combinația de taste Ctrl+Shif+”) Operatorul FOR este folosit când se cunoaște numărul de cicluri. Uzual iterațiile sunt realizate de VPA, dar poate fi utilizat un vector
  • 8. Operatorul WHILE ( sau combinația de taste Ctrl+]) Instrucțiunea WHILE se utilizează uzual dacă nu se cunoaște numărul de cicluri, ieșirea din calculele repetitive făcându-se când nu mai este îndeplinită condiția. Aceasta trebuie să se refere la o variabilă, expresie care se modifică în corpul ciclului, fiindcă în caz contrar ciclul rulează la infinit. Dacă inițial condiția nu este satisfăcută expresia nu este evaluată niciodată
  • 9. INSTRUCŢIUNI PENTRU CONTROLUL EXECUŢIEI PROGRAMULUI Mathcad pune la dispoziţia utilizatorului trei instrucţiuni cu rol de întrerupere a rulării programului, enumerate mai jos, în ordinea descrescătoare a efectului: 1. RETURN întrerupe programul; 2. BREAK întrerupe un ciclu; 3. CONTINUE întrerupe o iteraţie. Instrucţiunile RETURN, BREAK, CONTINUE se inserează din paleta Programming sau cu combinaţiile de taste: [Ctrl]+ [], respectiv [Ctrl]+ [{ ], respectiv [Ctrl]+ [[]. Ca şi în cazul celorlalte instrucţiuni de programare este interzisă inserarea prin tastatură literă cu literă. Instrucţiunea RETURN Instrucţiunea RETURN permite întreruperea rulării programului şi returnarea unei valori calculate, oriunde în corpul programului. Sintaxa: RETURN expresia sau şirul de caractere care se returnează Deseori, instrucţiunea RETURN se utilizează în combinaţie cu instrucţiunea IF RETURN expresie returnată IF condiţia (expresia booleană) Instrucţiunea BREAK Instructiunea BREAK se utilizeazã în corpul instructiunilor ciclice FOR, sau WHILE pentru intreruperea ciclului şi executarea instrucţiunii imediat urmatoare după ciclu. Sintaxa: Instrucţiunea BREAK se utilizează în combinaţie cu instrucţiunea IF:
  • 10. BREAK IF condiţia (expresia booleană) Instrucţiunea CONTINUE Instrucţiunea CONTINUE se utilizează în corpul instrucţiunilor ciclice, pentru întreruperea unei iteraţii a ciclului şi executarea instrucţiunii imediat următoare din ciclu. Sintaxa: La fel ca instrucţiunile anterioare, CONTINUE se utilizează în combinaţie cu instrucţiunea IF: CONTINUE IF condiţia (expresia booleană) CURSUL8 Interpolarea constă în găsirea unei funcţii, F(x), care să permită, pentru valori oarecare a lui x, situate în intervalul [x1,xn], estimarea valorilor funcţiei f(x). O condiţie necesară pentru determinarea
  • 11. funcţiei de interpolare, F(x), este coincidenţa cu funcţia f(x) în valorile nodale (F(x) trece prin puncte). Interpolarea se recomandă a fi utilizată când: − valorile experimentale sunt relativ precise, neafectate de erori semnificative; − numărul de valori experimentale este relativ mic, nerespectarea acestei condiţii, conduce la obţinerea unor relaţii complexe, greu de utilizat; − funcţia f(x) este cunoscută, dar expresia ei este complicată şi/sau foarte greu de evaluat şi manipulat. Prin extrapolare se înţelege operaţia matematică ce constă în găsirea unei funcţii, F(x), care să permită estimarea valorilor funcţiei f(x), pentru valori oarecare a lui x, situate în afara intervalului în care sunt determinate punctele nodale, (x < x1 )U(xn < x). INTERPOLAREA LINIARĂ Interpolarea liniară reprezintă cea mai simplă formă de interpolare care unește printr-un segment de dreaptă punctele de sprijin adiacente. Interpolarea liniară poate genera erori mari în cazul unor funcții cu variații rapide. În Mathcad 3.0. valorile de interpolare liniară se determină cu funcția linterp. Sintaxa funcției linterp(Vx, Vy, x): - Vx, Vy – reprezintă doi vectori coloană, Vx cu elemente reale, Vy cu elemente reale sau complexe, cu aceleași dimensiuni (n linii × 1 coloană). Vectorii Vx, Vy conțin valorile absciselor și respectiv a ordonatelor, pentru n puncte. Valorile din vectorul Vx trebuie să fie ordonate crescător. - x – reprezintă valoarea abscisei unui punct, a cărui ordonată urmează a fi determinată prin interpolare liniară.
  • 12. - Valoarea returnată: un număr real care reprezintă valoarea calculată prin interpolare liniară. INTERPOLAREA SPLINE Interpolarea polinomială de tip spline se aplică pe diviziuni: a = x1 < x2 <...< xi <...< xn = b în intervalului [a,b]. O funcție spline polinomială F(x) de gradul p cu nodurile în punctele xi, i ∈1,n , are următoarele proprietăți: a. Pe fiecare subinterval [xi ,xi+1 ], F(x) este un polinom de gradul p; b. F(x) și primele sale (p-1) derivate sunt continue pe [a,b]. Deoarece funcția spline F(x) are primele (p-1) derivate continue pe [a,b], derivata de ordinal p fiind discontinuă în nodurile xi ale diviziunii, aceasta este o funcție netedă pe porțiuni. Gradul de netezime este dat de ordinul p. INTERPOLAREACUBICĂSPLINE BIDIMENSIONALĂÎN MATHCAD În Mathcad există trei funcții predefinite pentru interpolarea cubică spline: - lspline(Vx,Vy) (l de la liniar); - pspline(Vx,Vy) (p de la parabolic); - cspline(Vx,Vy) (c de la cubic). EXTRAPOLĂRI Regresia și interpolarea determină valorile parametrilor unei funcții care de exemplu aproximează datele experimentale și permit estimarea valorilor funcției f(x), pentru valori oarecare ale lui x, situate în interiorul intervalului în care sunt determinate punctele nodale. Sintaxafuncției predict(Vy,m,p): - Vy reprezintă un vector cu elemente reale, cu n linii ce conține valorile ordonatelor, pentru n puncte având abscisele situate la intervale egale; - m, p – două numere întregi, m > 0, p > 0, m este numărul de puncte terminale pe baza cărora se face extrapolarea, p este numărulde
  • 13. puncte extrapolate. - Funcțiapredict returnează un vector cu p elemente care conține valorile ordonatelor celor p puncte. Pentru aplicareacorectă a extrapolării trebuie respectate condițiile: - 0<m<numărulde elemente ale vectorului Vy (length(v)), în practicăm trebuie să fie multmai mic decât length(v). Rezultate aberante se obțin și dacă numărulde elemente ale vectorului Vy este relativ mic. În exemplul 6 deși au fost luate în considerare doar 4 puncte terminale se obține o predicție eronată. Acest fenomen nu apare dacă sunt procesate un număr mare de noduri (vezi exemplul 7). - Se pot obține puncte de predicție la capătul inferior al intervalului dacă se inversează ordinea vectorului Vy (funcția reverse (Vy)). - Funcțiapredict duce la rezultate mulțumitoaredacă coordonatele vecine nu au variații foarte mari, pot fi oscilatorii, nu neapărat periodice CURSUL9 REGRESIA LINIARĂ REZOLVATĂ CU FUNCŢIILE MATHCAD Dacă dreapta de regresie se scrie y=A+Bx, iar cu Vx şi Vy se notează doi vectori reali conţinând coordonatele punctelor, pentru regresia liniară Mathcad pune la dispoziţie funcţiile: Funcţia line: Formatul funcţiei:line(Vx,Vy); Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează dreapta de regresie; calculate ale parametrilor dreptei de regresie (A şi B). Funcţia intercept: Formatul funcţiei:intercept(Vx,Vy);
  • 14. Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează dreapta de regresie; Valoarea returnată: valoarea parametrului A al dreptei de regresie (A reprezintă ordonata punctului de intersecţie al dreptei de regresie cu axa Oy). Funcţia slope: Formatul funcţiei: slope(Vx,Vy); Argumentele funcţiei: Vx, Vy – reprezintă doi vectori cu elemente in valorile absciselor şi respectiv a ordonatelor, pentru cele n puncte printre care se trasează dreapta de regresie; Valoarea returnată: valoarea parametrului B, al dreptei de regresie (B reprezintă panta (tan(α)) dreptei de regresie ) Funcția medfit Sintaxa funcției: medfit(Vx,Vy): Vx, Vy doi vectori cu elemente reale și cu aceleași dimensiuni conținând valorile absciselor și respectiv a ordonatelor, pentru cele n puncte printre care se trasează dreapta mediană; Funcția medfit returnează un vector care conține valorile calculate parametrilor dreptei mediane y=a+bx. Funcția medfit împarte punctele în trei mulțimi cu aproximativ același număr de elemente. Se iau în considerare primul și ultimul grup de puncte și se calculează valorile mediane ale coordonatelor pentru mulțimile extreme (x1Me,y1Me) (x2Me, y2Me), vezi funcția median.Dreapta trece prin punctul cu coordonate media coordonatelor medianelor celor trei grupuri (0,33(x1+x2+x3), 0,33(y1+y2+y3)).
  • 15. Funcția polyfit:polyfit(X, Y, n/"termeni"/M) se utilizează pentru determinarea suprafețelor de regresie polinomiale (/ are semnificația de sau). Funcția polyfitc :polyfitc(X,Y, n/"terms"/M, [conf]): primii cinci parametri au aceleași semnificații ca și pentru funcția polyfit, ultimul conf=0-1 este opțional și se referă la intervalul de încredere, dacă nu este utilizat, Mathcad folosește valoarea implicită 95%. Funcția polyfitstat:polyfitstat(X, Y, n/"terms"/M, [conf]): are parametri identici cu ai funcției polyfitc, returnează date statistice Funcțile rationalfit și rationalfitpn Funcțiile raționale cu care operează rationalfit și rationalfitnp au forma Cele două funcții returnează câte o matrice cu trei coloane: prima coloană conține coeficienții polinoamelor de la numărător și numitor, a doua și a treia limitele la stânga, respectiv dreapta corespunzătoare intervalului de încredere. Funcția rationalfit:rationalfit(vx, vy, conf, m, n, [Stdy], [LBUB], [Acc], ["noscale"]) Funcția rationalfit:rationalfit(vx, vy, conf, m, n, [Stdy], [LBUB], [Acc], ["noscale"])