Sunteți pe pagina 1din 31

Camelia Chira

http://users.utcluj.ro/~cchira
camelia.chira@cs.utcluj.ro
Organizare

• Curs
• Laborator

• 3 teme laborator cu predare la data fixa:


• T1: Problema Rucsacului
• T2: Problema Comis-Voiajorului
• T3: Cautare Evolutiva
• Nota Laborator = 0.3 * T1 + 0.3 * T2 + 0.4 * T3

Nota finala
• 70% - examen scris
• 30% - nota laborator
03.03.2017 camelia.chira@cs.utcluj.ro 2
Despre acest curs

• Dezvoltarea de algoritmi si sisteme informatice pentru


probleme complexe
• Ce sunt problemele complexe?
• Aplicatii ?
• Metode traditionale
• De ce algoritmii standard nu pot fi aplicati problemelor
complexe?
• Ce algoritmi folosim?
• Inteligenta Computationala
• Simulated annealing, Tabu search
• Algoritmi bazati pe populatii: Calcul Evolutiv

03.03.2017 camelia.chira@cs.utcluj.ro 3
Bibliografie

• Z. Michalewicz, D. B. Fogel, How to solve it: Modern Heuristics, 2nd edition,


Springer, 2004.
• El-Ghazali Talbi, Metaheuristics - From Design to Implementation, Wiley 2009
• M. Mitchell, An introduction to genetic algorithms, MIT Press, 1996.
• Back T, Fogel D.B, Michalewicz Z.; Evolutionary Computation I. Basic Algorithms
and Operators, IOP Publ., 2000
• Back T, Fogel D.B, Michalewicz Z.; Evolutionary Computation II. Advanced
Algortihms and Operators, IOP Publ., 2000
• A. E. Eiben, J.E. Smith, Introduction to Evolutionary Computing.Springer, 2003.
• D. E. Goldberg, Genetic Algorithms in Search, Optimization and Machine
Learning, Addison-Wesley, 1989.
• K. A. De Jong, Evolutionary Computation: A Unified Approach. MIT Press,
Cambridge, MA, 2006.
• http://users.utcluj.ro/~cchira

03.03.2017 camelia.chira@cs.utcluj.ro 4
Probleme

• O problema este descrisa de mai


multi parametri si cerinte pe care o
solutie a problemei trebuie sa le
satisfaca

• O instanta a problemei este obtinuta prin specificarea unor valori


particulare pentru parametrii problemei

• Un algoritm este o procedura de rezolvare a problemei.


• Un algoritm rezolva o problema P daca poate fi aplicat oricarei
instante I a lui P si garanteaza intotdeauna obtinerea unei solutii
pentru instanta I

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)

• Fiecare item are o valoare (v) si o


greutate (w).
• Puneti in rucsac valoarea maxima fara a
depasi greutatea maxima admisa.

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

• Impachetare folosind un numar


minim de cutii
• Fiecare obiect are un volum
• Avem la dispozitie un anumit numar
de cutii de volum V
• Minimizeaza numarul de cutii folosit
si impacheteaza toate obiectele

03.03.2017 camelia.chira@cs.utcluj.ro 10
Probleme de optimizare

• Scopul este de a determina minimul sau maximul unei anumite


functii cu una sau mai multe variabile

• Minimizare: Gaseste x* in A astfel incat f(x*) ≤ f(x) pentru orice x in A


• Optim global, local

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?

• Numarul solutiilor posibile din spatiul de cautare este prea


mare pentru a permite o cautare exhaustiva

• Problema este atat de complicata incat este necesara


simplificarea ei pentru a obtine orice raspuns incat orice
rezultat devine nefolositor

• Functia de evaluare a calitatii solutiilor gasite se schimba in


timp (noisy) – nevoie de o serie de solutii si nu una singura

• Solutiile posibile sunt atat de restrictionate incat chiar si


construirea uneia valide este dificila, una optima?

03.03.2017 camelia.chira@cs.utcluj.ro 13
Spatiul de cautare

• Spatiul de cautare este multimea


solutiilor candidat ale problemei

Marimea problemei
Exemplu. TSP cu n=10 orase, marimea problemei este 10

Marimea spatiului de cautare


Exemplu: TSP cu 10 orase are aprox. 181,000 solutii posibile

03.03.2017 camelia.chira@cs.utcluj.ro 14
Functia de evaluare

• Aceasta functie trebuie sa determine cat de buna este o solutie


• De obicei mapeaza o solutie la o valoare reala (care trebuie
minimizata/maximizata)
• Poate fi si o functie de sortare a solutiilor: pentru orice pereche de
solutii, determina care este mai buna

• 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)

• O expresie logica trebuie evaluata la TRUE


• Exemplu:

• Gaseste valoarea fiecarui xi pentru i=1,…,100 astfel incat F(x)=TRUE

F ( x) = ( x17 ∨ x37 ∨ x73 ) ∧ ( x11 ∨ x56 ) ∧ ... ∧ ( x2 ∨ x43 ∨ x77 ∨ x89 ∨ x97 )

• 2100 posibilitati (2 valori pt fiecare din cei 100 xi)


• Marimea spatiului de cautare

S = 2100 ≈ 1030 HUGE!!

Daca un calculator ar putea testa 1000 siruri/secunda si am incepe


calculele la inceputurile timpului - acum 15 bilioane de ani- am ajunge sa
examinam numai 1% din cazuri
03.03.2017 pana azi!!!!
camelia.chira@cs.utcluj.ro 16
Traveling Salesman Problem (TSP)
Problema comis-
comis-voiajorului
• Parcurgerea traseului pe cel mai scurt drum vizitand fiecare oras o
singura data
• Cost minim: timp, combustibil
• dist(i,j)=dist(j,i)
• Altfel, TSP asimetrica
• Solutie: orice permutare
de n orase

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

S = n! /( 2n) = (n − 1)! / 2 HUGE!!

Nr orase Nr solutii

n TSP SAT 10 181,000

6 60 64 20 10,000,000,000,000,000

7 360 128 50 100,000,000,000,000,


000,000,000,000,
8 2520 256 000,000,000,000,
000,000,000,000,

03.03.2017 camelia.chira@cs.utcluj.ro 18
Nonlinear Programming Problem (NLP)

• Nici o metoda de optimizare traditionala nu a dat rezultate


satisfacatoare
• Maximizeaza functia:

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

Pentru implementarea unui algoritm pe calculator:


-precizia disponibila?
-pentru precizie de 6 puncte zecimale garantata fiecare variabila poate lua 10,000,000 valori

S = 10,000,000 n = 107 n
HUGE!!

Chiar mai mare decat spatiul de


cautare pentru TSP
03.03.2017 camelia.chira@cs.utcluj.ro 20
Modelarea problemei

• Modele – simplificarea lumii reale

• SAT, TSP, NLP – forme canonice de modele ce pot fi aplicate in multe


situatii

Problema Model Solutie

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

 fij determina costul transportului de la sursa i la destinatia j


 For example (x-cantitatea de hartie transportata de la 2 la 3):

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

xij ≥ 0, i = 1,2,..., n; j = 1,2,..., k

• Solutie valida: nici un transport de la un depozit nu este pentru un


numar mai mare de materiale decat cele disponibile

03.03.2017 camelia.chira@cs.utcluj.ro 24
Exemplu 2 (cont)

• Model precis al problemei – functie complexa, greu de


abordat cu algoritmi traditionali
• Discontinuitati – solutii insatisfacatoare
• Solutii?
• Simplificarea functiei de optimizat
• Aproximarea functiei f23: f(x)=2.66x+8.25
• => solutie pentru modelul simplficat nu pentru problema reala
• Pastrarea functiei – folosirea modelelor nestandard

03.03.2017 camelia.chira@cs.utcluj.ro 25
Modelarea problemei

• Aproximarea modelului

Problema Modelaprox Solutieprec(Modelaprox)

• Aproximarea solutiei

Problema Modelprec Solutieaprox(Modelprec)

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

• Majoritatea problemelor reale impun diverse restrictii solutiilor


• Gasirea unor solutii mai bune trebuie sa duca tot la o solutie valida

• 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

• Problema gasirii unei solutii vs Demonstrarea unui fapt cu privire la


solutie
• Exemplu
• Umplerea unui bazin cu apa dureaza 4 ore folosind un furtun mare de apa si
6 ore folosind unul mic.
• Q1: Cat timp dureaza daca folosim ambele?
• Q2: Demonstrati ca umplerea bazinului folosind atat furtunul mare cat si cel
mic dureaza mai putin de 2 ore si 25 minute.

03.03.2017 camelia.chira@cs.utcluj.ro 30
Inteligenta computationala

• Computational Intelligence sau Soft Computing

• Calcul neuronal – retele neuronale


• Calcul evolutiv – algoritmi evolutivi
• Calcul fuzzy – sisteme fuzzy
• Inteligenta de grup – swarm intelligence
• Simulated Annealing, Tabu Search

03.03.2017 camelia.chira@cs.utcluj.ro 31

S-ar putea să vă placă și