Documente Academic
Documente Profesional
Documente Cultură
http://users.utcluj.ro/~cchira
camelia.chira@cs.utcluj.ro
Organizare
• Curs
• Laborator
Nota finala
• 70% - examen scris
• 30% - nota laborator
03.03.2017 camelia.chira@cs.utcluj.ro 2
Despre acest curs
03.03.2017 camelia.chira@cs.utcluj.ro 3
Bibliografie
03.03.2017 camelia.chira@cs.utcluj.ro 4
Probleme
03.03.2017 camelia.chira@cs.utcluj.ro 5
Problema comis-
comis-voiajorului
Comis-voiajorul trebuie sa viziteze fiecare oras si sa se intoarca acasa
pe drumul cel mai scurt.
Fie G = (V, E) un graf neorientat în care oricare două vârfuri diferite ale
grafului sunt unite printr-o latură căreia ii este asociat un cost pozitiv.
Cerinţa este de a determina un ciclu care începe de la un nod, trece
exact o dată prin toate celelalte noduri şi se întoarce la nodul iniţial, cu
condiţia ca ciclul sa aiba un cost minim.
A-B-D-C-E-A = 1+4+1+2+5=13
A-C-D-E-B-A =2+1+3+3+1=10
03.03.2017 camelia.chira@cs.utcluj.ro 6
Problema comis-
comis-voiajorului
• Multe aplicatii
• Drilling of printed circuit boards
• Overhauling gas turbine engines
• X-Ray crystallography
• Computer wiring
• The order-picking problem in warehouses
• Vehicle routing
• Mask plotting in PCB production
03.03.2017 camelia.chira@cs.utcluj.ro 7
Problema rucsacului (0/1 knapsack problem)
03.03.2017 camelia.chira@cs.utcluj.ro 8
Greedy approach
• Selecteaza cel mai bun item daca adaugarea lui in rucsac nu conduce
la depasirea limitei de 20 kg
• Cel mai bun?
• O metrica:
• Max. valoare
• Min. greutate
• Max. valoare/greutate
• Repeta pana cand rucsacul este plin
• Care metrica este cea mai buna?
03.03.2017 camelia.chira@cs.utcluj.ro 9
Bin packing
03.03.2017 camelia.chira@cs.utcluj.ro 10
Probleme de optimizare
03.03.2017 camelia.chira@cs.utcluj.ro 11
Probleme de optimizare din lumea reala
Logistica, transport
Planificare
Retele, telecomunicatii
Linii de productie, industrie
03.03.2017
Ambalare,
camelia.chira@cs.utcluj.ro 12
distributie
De ce sunt unele probleme dificile?
dificile?
03.03.2017 camelia.chira@cs.utcluj.ro 13
Spatiul de cautare
Marimea problemei
Exemplu. TSP cu n=10 orase, marimea problemei este 10
03.03.2017 camelia.chira@cs.utcluj.ro 14
Functia de evaluare
• Se mai numeste:
• Functie obiectiv
• Functia energie (fizica)
• Functia de cost (economie)
• Functia de calitate (inginerie)
• Functia de fitness (biologie)
03.03.2017 camelia.chira@cs.utcluj.ro 15
The Boolean satisfiability problem (SAT)
F ( x) = ( x17 ∨ x37 ∨ x73 ) ∧ ( x11 ∨ x56 ) ∧ ... ∧ ( x2 ∨ x43 ∨ x77 ∨ x89 ∨ x97 )
03.03.2017 camelia.chira@cs.utcluj.ro 17
TSP – spatiul de cautare
• n! moduri de a permuta n orase
• Pentru n>6 numarul solutiilor posibile pentru TSP cu n orase este MAI
MARE decat pentru SAT cu n variabile
Nr orase Nr solutii
6 60 64 20 10,000,000,000,000,000
03.03.2017 camelia.chira@cs.utcluj.ro 18
Nonlinear Programming Problem (NLP)
03.03.2017 camelia.chira@cs.utcluj.ro 19
NLP – spatiul de cautare
• Depinde de numarul de dimensiuni
• Pur matematic: fiecare dimensiune poate contine un numar INFINIT de
valori posibile
S = 10,000,000 n = 107 n
HUGE!!
03.03.2017 camelia.chira@cs.utcluj.ro 21
Exemplu 1
• O fabrica produce masini in n culori
• Scop: gasirea planului optim de productie pentru a minimiza costul
total al vopsirii masinilor
• Fiecare masina tehnologica trebuie schimbata de pe o culoare pe alta intre
doua job-uri
• Costul acestei schimbari depinde de cele 2 culori implicate si ordinea lor
• Galben – Negru = 30 unitati ($, timp, etc)
• Negru-Galben = 80 unitati (asimetrie)
• Galben-Verde = 35 unitati
• etc
• Gasirea acelei secvente de job-uri care sa respecte cerintele de productie pentru
numarul masinilor din fiecare culoare si sa pastreze costul minim
• TSP
• Oras – job
• Distanta intre orase – costul schimbului intre job-uri
• Asimetric TSP
03.03.2017 camelia.chira@cs.utcluj.ro 22
simplifications
are inherent
to modeling
sursa
Exemplu 2
• O companie are n depozite cu hartie in topuri
• Hartia trebuie distribuita in k centre
destinatie
03.03.2017 camelia.chira@cs.utcluj.ro 23
Exemplu 2 (cont)
• Modelul problemei:
• Minimizeaza
n k
∑ ∑ i =1 j =1
f ij ( xij )
s.t.
k
∑ x ≤ sursa (i ), i = 1,2,..., n
j =1 ij
n
∑ x ≥ dest ( j ), j = 1,2,..., k
i =1 ij
03.03.2017 camelia.chira@cs.utcluj.ro 24
Exemplu 2 (cont)
03.03.2017 camelia.chira@cs.utcluj.ro 25
Modelarea problemei
• Aproximarea modelului
• Aproximarea solutiei
03.03.2017 camelia.chira@cs.utcluj.ro 26
Schimbari in timp
• Solutia unei probleme poate fi afectata de multe
schimbari dinamice survenite in timp (noise)
• Exemplu
• TSP
• Care este timpul estimat de a ajunge din orasul A in orasul B
(stiind distanta –ex 40km)?
• Chiar daca am simplifica si ar fi 2 posibilitati:
• Totul merge ok si timpul e de 40 minute
• Un camion in fata – timpul e de 60 de minute
• Timp estimat: 50 minute???
• In lumea reala mai exista si acele schimbari ce nu pot fi
prezise
• Concurenta, anticipare
03.03.2017 camelia.chira@cs.utcluj.ro 27
Restrictii
• Hard constraints
• Aceste restrictii trebuie obligatoriu satisfacute pentru a avea o solutie valida
• Soft constraints
• Aceste restrictii sunt lucruri pe care este de preferat ca solutia sa le
indeplineasca dar nu sunt obligatorii
03.03.2017 camelia.chira@cs.utcluj.ro 28
Exemplu: Timetabling
• Input:
• Lista cursurilor
• Lista studentilor si la ce curs merge fiecare
• Lista profesorilor si ce curs are fiecare
• Lista salilor disponibile, inclusive capacitate, dotare, etc
• Hard constraints:
• Fiecare curs trebuie distribuit unei sali care are caractericticile necesare
• Studentii care au mai multe cursuri nu pot avea la aceeasi ora si in aceeasi zi
cursuri
• Profesorii nu pot preda in acelasi timp 2 cursuri
• Soft constraints:
• Doua cursuri consecutive pentru aceeasi student sa fie puse Luni sa Miercuri.
• Nici un curs nu poate fi pus vineri dupa ora 16
• Nici un student sa nu aiba mai mult de 2 laboratoare intr-o zi
03.03.2017 camelia.chira@cs.utcluj.ro 29
Gaseste o solutie/
solutie/Demonstreaza
03.03.2017 camelia.chira@cs.utcluj.ro 30
Inteligenta computationala
03.03.2017 camelia.chira@cs.utcluj.ro 31