Sunteți pe pagina 1din 5

Ministеrul Еducаțiеi, Culturii și Cеrcеtării аl Rеpublicii Mоldоvа

Univеrsitаtеа Tеhnică а Mоldоvеi


Fаcultаtеа Cаlculаtоаrе, Infоrmаtică şi Micrоеlеctrоnică
Dеpаrtаmеntul Ingineria Software și Automatică

RAPORT
Lucrarea de laborator Nr.1
la disciplina Metode și Modele de Calcul 2
Tema:Optimizarea necondiționata
Varianta 13

A efectuat: st. gr. TI-192 Mereuță Ana

A verificat : asist. Univ. Buldumac Oleg

Chişinău 2020
Tema: Optimizarea unei funcții neliniare după metoda gradientului cu fracționarea pasului

Scopul lucrării:Însușirea algoritmului optimizării unei funcții nelineare după metoda


gradientului cu fracționarea pasului și implementarea acestuia într-un limbaj de programare.

PARTEA TEORETICĂ

Noțiuni principale din teorie


Functiile neliniare sunt functiile al caror grafic nu reprezinta o linie dreapta sau un plan, ci o
forma neliniara, in care sunt prezente punctele de maxim si minim. La randul lor ele se impart in:
1. Puncte de minim (maxim) global – Punctul x* ∈ R se numeste punct de minim (maxim)
global, daca orice punct al multimii valorilor acceptate de catre functie (multimea fazabila a
problemei), este mai mare (mai mic) decat x*.

2. Puncte de minim (maxim) local – Punctul x* ∈ R se numeste punct de minim (maxim) local,
daca exista o vecinatate N a punctului x*, in care orice punct care apatine acestei vecinatati
este mai mare (mai mic) decat x*.

Problemele de optimizare constau din maximizarea sau minimizarea a unei functii


prin alegerea sistematica a valorilor de intrare si determinarea a solutiilor minime (maxime) a
functiei.
Algoritmul de determinare a minimului (maximului) unei functii neliniare prin metoda
gradientului cu fractionarea pasului:

Primul pas : Se allege arbitrar un x0 ∈ R, se alege un ε > 0 si se pune contor pentru iteratii k = 0.
Al doilea pas : Se calculeaza ∇ f(xk) si se determina apoi || f(xk) ||2 – magnitudinea
Daca || f(xk) ||2 < ε => STOP => x* = xk
Daca || f(xk) ||2 > ε => Pasul 3
Al treilea pas : Se aplica Procedura de sectionare a pasului.
Al patrulea pas : xk +1 = z, Se trece la pasul 2.

Procedura de sectionare a pasului:


Pasul 1 : Se alege un λ > 0 (coeficientul de sectionare), un δ ∈ (0; 1) (coeficient) si un γ ∈ (0; 1)
(Pasul)
Pasul 2 : Se determina z = xk – λ * ∇ f(xk), apoi f(z)
Pasul 3 : Se verifica daca f(z) – f(xk) <= - δ * λ * || f(xk) ||22
In caz de adevar => λ nu se schimba, se trece la pasul 2 din algoritmul principal, x = z
In caz contrar => Se trece la pasul 4
Pasul 4 : λ = λ * γ si se trece la pasul 2.
Sarcina lucrării:
Sa se determine minimul global al functiei :
f(x,y)=ax2+3xy+by2-ax-by;
a=3 ; b=3 ;
f(x,y)=3x2+3xy+3y2-3x-3y.

Graficul functiei :

Listingul programului:
#include <iostream>
#include <conio.h>
#include <math.h>
#include <string.h>
//a = 3, b = 3;
using namespace std;

class optim{
public:
float f(float x, float y);
void data_input(void);
void gradient(void);
void metoda_gradientului(void);

private:
float a,b,ALFA,GAMA,DELTA,EPS,X[2],Z[2],G[2];
};

float optim::f(float x, float y){


return a*x*x+3*x*y+b*y*y-3*x-3*y;
}

void optim::data_input(void){
cout<<"Introdu parametrul a: ", cin>>a;
cout<<"Introdu parametrul b: ", cin>>b;
}
//x[0]-x; x[1]-y
void optim::gradient(void){
G[0]=2*a*X[0]+3*X[1]-a;
G[1]=3*X[0]+2*b*X[1]-b;
}

void optim::metoda_gradientului(void){

int N=0;
float temp;
ALFA=0.1;
GAMA=0.1;
DELTA=0.1;
X[0]=1;
X[1]=1;
EPS=0.00001;
gradient();

while(sqrt(G[0]*G[0]+G[1]*G[1])>=EPS){ //daca norma gradientului e mai mare


sau egal ca epsilon
N++;
//ALFA=0.1;
Z[0]=X[0]-ALFA*G[0];
Z[1]=X[1]-ALFA*G[1];
if((f(Z[0],Z[1])-f(X[0],X[1]))>-DELTA*ALFA*(G[0]*G[0]+G[1]*G[1])){
//verifica daca se schimba valoarea la lambda, daca pasul e prea mare, pai
schima valoarea
ALFA*=GAMA;
Z[0]=X[0]-ALFA*G[0]; //se calculeaza punctul care se apropie de
minim
Z[1]=X[1]-ALFA*G[1];
}

X[0]=X[0]-ALFA*G[0];
X[1]=X[1]-ALFA*G[1];
gradient();
}

cout<<"\nMetoda gradientului:";
cout<<"\nPunctul are urmatoarele coordonate (x,y): "<<X[0]<<" "<<X[1]<<endl;
cout<<"Valoarea functiei f(x)="<<f(X[0],X[1])<<endl;
cout<<"Numarul de iteratii N="<<N<<endl;
}

int main(void){
system("CLS");
optim p1;
p1.data_input();
p1.gradient();
p1.metoda_gradientului();
getch();
return 0;
}

Rezultatul:
Concluzie:
În această lucrare de laborator, am avut de analizat optimizarea necondiționată a funcțiilor.
Deci, conform variantei mele, am minimizat funcția cu ajutorul metodei gradientului și a metodei de
direcție conjugată. În concluzie, pot spune că metoda gradientului, din punct de vedere a fracționării
pasului este mai inutilă dacă dăm o funcție mai mare.

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

  • IoT LL4
    IoT LL4
    Document4 pagini
    IoT LL4
    Anya Mr
    Încă nu există evaluări
  • IoT LL6
    IoT LL6
    Document8 pagini
    IoT LL6
    Anya Mr
    Încă nu există evaluări
  • IoT LL7
    IoT LL7
    Document4 pagini
    IoT LL7
    Anya Mr
    Încă nu există evaluări
  • IoT LL2
    IoT LL2
    Document9 pagini
    IoT LL2
    Anya Mr
    Încă nu există evaluări
  • Proiect Baze de Date
    Proiect Baze de Date
    Document26 pagini
    Proiect Baze de Date
    Anya Mr
    Încă nu există evaluări
  • Si LL2
    Si LL2
    Document6 pagini
    Si LL2
    Anya Mr
    Încă nu există evaluări
  • FileMaker Pro - Mereuta - Ana - TI - 192
    FileMaker Pro - Mereuta - Ana - TI - 192
    Document4 pagini
    FileMaker Pro - Mereuta - Ana - TI - 192
    Anya Mr
    Încă nu există evaluări
  • IoT LL1
    IoT LL1
    Document12 pagini
    IoT LL1
    Anya Mr
    100% (1)
  • Si LL1
    Si LL1
    Document12 pagini
    Si LL1
    Anya Mr
    Încă nu există evaluări
  • LL4 PS
    LL4 PS
    Document12 pagini
    LL4 PS
    Anya Mr
    100% (1)
  • Testarea1 IOC Mereuta Ana TI-192
    Testarea1 IOC Mereuta Ana TI-192
    Document3 pagini
    Testarea1 IOC Mereuta Ana TI-192
    Anya Mr
    Încă nu există evaluări
  • LL5 PS
    LL5 PS
    Document11 pagini
    LL5 PS
    Anya Mr
    Încă nu există evaluări
  • LL6 PS
    LL6 PS
    Document5 pagini
    LL6 PS
    Anya Mr
    Încă nu există evaluări
  • LL4 BD
    LL4 BD
    Document6 pagini
    LL4 BD
    Anya Mr
    Încă nu există evaluări
  • LL
    LL
    Document7 pagini
    LL
    Anya Mr
    Încă nu există evaluări
  • LL1 Baze de Date
    LL1 Baze de Date
    Document10 pagini
    LL1 Baze de Date
    Anya Mr
    Încă nu există evaluări
  • LL3 TS Final A TI-192
    LL3 TS Final A TI-192
    Document8 pagini
    LL3 TS Final A TI-192
    Anya Mr
    Încă nu există evaluări
  • LL3
    LL3
    Document6 pagini
    LL3
    Anya Mr
    Încă nu există evaluări
  • NiveledeTestare Referat
    NiveledeTestare Referat
    Document10 pagini
    NiveledeTestare Referat
    Anya Mr
    Încă nu există evaluări
  • LL8 Mereuta Ana TI-192
    LL8 Mereuta Ana TI-192
    Document6 pagini
    LL8 Mereuta Ana TI-192
    Anya Mr
    Încă nu există evaluări
  • LL1 Prelucrarea Semnalelor
    LL1 Prelucrarea Semnalelor
    Document20 pagini
    LL1 Prelucrarea Semnalelor
    Anya Mr
    Încă nu există evaluări
  • LL2 Baze de Date
    LL2 Baze de Date
    Document15 pagini
    LL2 Baze de Date
    Anya Mr
    Încă nu există evaluări
  • LL7 Baze de Date
    LL7 Baze de Date
    Document5 pagini
    LL7 Baze de Date
    Anya Mr
    Încă nu există evaluări
  • AMOO Lab 4
    AMOO Lab 4
    Document6 pagini
    AMOO Lab 4
    Anya Mr
    Încă nu există evaluări
  • LL5 Baze de Date
    LL5 Baze de Date
    Document3 pagini
    LL5 Baze de Date
    Anya Mr
    Încă nu există evaluări
  • Ll1 Mmc1 Mereuta Ana Ti-192
    Ll1 Mmc1 Mereuta Ana Ti-192
    Document11 pagini
    Ll1 Mmc1 Mereuta Ana Ti-192
    Anya Mr
    Încă nu există evaluări
  • AMOO Lab 3
    AMOO Lab 3
    Document7 pagini
    AMOO Lab 3
    Anya Mr
    Încă nu există evaluări
  • LL4 Circuite Si Dispozitive Electronice
    LL4 Circuite Si Dispozitive Electronice
    Document9 pagini
    LL4 Circuite Si Dispozitive Electronice
    Anya Mr
    Încă nu există evaluări
  • LL1 Mereuta Ana TI-192
    LL1 Mereuta Ana TI-192
    Document7 pagini
    LL1 Mereuta Ana TI-192
    Anya Mr
    Încă nu există evaluări
  • LL3 Mereuta Ana TI192
    LL3 Mereuta Ana TI192
    Document6 pagini
    LL3 Mereuta Ana TI192
    Anya Mr
    Încă nu există evaluări