Cette page appartient aux archives web de l'EPFL et n'est plus tenue à jour.
This page belongs to EPFL's web archive and is no longer updated.

OptimisationI

Corrigé exercice 1 Série 7 (exemple d'examen)
Salut,

Suite à la demande de certains, voici mon corrigé de l'exercice 1 présenté oralement en cours ce matin :
http://amac.epfl.ch/webdav/site/amac/shared/docs/gm-ba5_optimisation/serie_07_exercice_1_corrige_rouvinez.pdf

Joyeux Noël, Bonne Année et bon travail !

Mathieu Rouvinez
Posted by Mathieu Rouvinez at 20:53
Fichiers matlab de la série 4
Bonjour à tous !

Désolé du retard, mais voici (ENFIN !) une version corrigée des fichiers matlab de la série 4.


Niklaus
Posted by Niklaus Eggenberg at 11:52
Résumés du cours
Salut,

Les résumés manuscrits du cours de professeur Themans (ceux qu'il recopie au tableau avant chaque début de cours pour faire le résumé de la séance précédente) arrivent semaine après semaine à cette adresse:
http://amac.epfl.ch/page26289.html
Posted by Mathieu Rouvinez at 23:03
TP 3
Voici une implémentation possible des fichiers matlab.

Avec ceux-ci, jouez en utilisant les différents problèmes et les différentes méthodes afin de trouver les spécificités des différentes méthodes.

Comparez les résultats en fonction du nombre d'itérations, du nombre d'évaluations de fonction, des paramètres et des points initiaux.

Comme exemple, lancez le problème venant du livre "booktest.m" (f(x) = x^2 - 2) avec la direction de newton. Utilisez d'abord le point initial x=1, puis le point initial x=-1 et finalement x=0. Que se passe-t-il ? Pourquoi ? Qu'en-est-il des autres méthodes ?

Effectuez ce genre de tests comparatifs avec les problèmes proposés.

Pour les questions, remarques, partage d'idées etc..., utilisez le blog !!!!!!!

Merci et bon courage

Niklaus
Posted by Niklaus Eggenberg at 13:17
Remarques pour Matlab
Bonjour à tous !

Quelques remarques pour Matlab :

1) Quand une fonction préexistante dans Matlab demande une fonction comme argument (par exemple "feval" ou "fminsearch"), la manière dont est implémentée la fonction détermine la syntaxe, à savoir :

a) pour une fonction inline (f = inline('x.^2 + 3*y.^2','x','y')), la syntaxe se fait sans guillemetes : feval(f,2,3), qui évalue f au point x=2, y=3.

b) pour la fonction impémentée dans "f.m", les guillemets sont nécessaires, et on écrira feval('f',2,3).


2) Pour utiliser "mesh" ou "surf", il vous faut deux vecteurs X et Y de taille n et m respectivement, et une matrice Z de taille [nxm] où Z(i,j) = f(X(i),Y(j)).
Pour ce faire, il y a deux solutions, la première étant de calculer chaque élément indépendemment avec un boucle "for" sur i=1,...,n puis j=1,...,m:

for i = 1:n
for j=1:m
Z(i,j) = f(X(i),Y(j));
end
end


L'autre possibilité est de créer une matrice en utilisant "meshgrid", créant deux matrices M1 et M2 de tailles [nxm]. La commande "M1.*M2" effectue "M1(i,j) * M2(i,j)" pour chaque i=1,...,n et j=1,...,m. Donc, "Z = M1.^2 + 3*M2.^2" évalue la fonction sur tous les points voulus.

Si j'ai implémenté ma fonction dans "f.m" comme "f(x,y) = x.^2 + 3*y.^2", alors poser "Z = f(M1,M2)" marche. En revanche, si on a défini "f(x) = x(1).^2 + 3*x(2).^2", la syntaxe précédente ne peut pas marcher, car l'élément x(1) du vecteur ne peut pas être une matrice. Dans ce cas, on doit utiliser la méthode "évaluer en toutes les combinaisons de points"....

Pour résumer, attention aux guillemets ! Et aussi, il y a toujours plusieurs façons de résoudre un même problème en programmation, l'essentiel pour ce cours est d'en trouver une qui marche, l'efficacité du code n'étant pas l'objectif premier !
Posted by Niklaus Eggenberg at 13:43
Bienvenue sur le site du cours d'Optimisation I
Bonjour à tous !

Voici le blog relatif au cours d'Optimisation I du semestre d'hivers 2007-2008 entièrement consacré aux étudiants du cours.

C'est ici que vous pourrez publier toutes les informations que vous désirez, mettre les corrigés des séances d'exercices par écrit ou encore vous poser mutuellement des questions relatives au cours.

Ce blog n'est pas ni surveillé ni censuré par l'enseignant ou les assistants. Ce blog ne contient aucune information officielle liée au cours (pour celles-ci, se référer à la page du cours) :

http://transp-or2.epfl.ch/cours/OptimisationI/07-08/accueil.php

Nous vous encourageons à utiliser cet outil pour mieux comprendre le cours et échanger vos idées sur les TPs.

Bonne chance à tous !
Posted by Niklaus Eggenberg at 14:18