apprentissage
Class DescenteGradient

java.lang.Object
  extended by apprentissage.DescenteGradient
Direct Known Subclasses:
DescenteDeGradient

public class DescenteGradient
extends java.lang.Object

Cette classe optimise une fonction sans caractéristique connue selon la méthode de la descente de gradient.

Version:
1.00, 03/28/2003
Author:
Laurent JEANPIERRE

Constructor Summary
DescenteGradient()
          Prépare le module sans fournir de fonction.
DescenteGradient(IFonction fonctionAOptimiser)
          Prépare le module pour optimiser une fonction donnée.
 
Method Summary
 double optimiser(int no, double valeurInitiale, double precision)
          Optimise la fonction sur l'un de ses paramètres.
 void random()
          Initialise les paramètres de la fonction aléatoirement.
 void random(double force)
          Initialise les paramètres de la fonction aléatoirement.
 double relaxation(double precision, double stabilite, java.awt.Component temoin)
          Optimise la fonction sur chacun de ses paramètres alternativement.
 double relaxation(int paramInitial, int paramDebut, int paramFin, double precision, double stabilite, java.awt.Component temoin)
          Optimise la fonction sur chacun de ses paramètres alternativement.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DescenteGradient

public DescenteGradient()
Prépare le module sans fournir de fonction.


DescenteGradient

public DescenteGradient(IFonction fonctionAOptimiser)
Prépare le module pour optimiser une fonction donnée.

Parameters:
fonctionAOptimiser - la fonction à optimiser.
Method Detail

optimiser

public double optimiser(int no,
                        double valeurInitiale,
                        double precision)
                 throws java.lang.IllegalArgumentException
Optimise la fonction sur l'un de ses paramètres.

Parameters:
no - le numéro du paramètre à optimiser.
valeurInitiale - la valeur de référence du paramètre.
precision - la précision souhaitée sur le paramètre.
Returns:
la valeur de la fonction optimisée.
Throws:
java.lang.IllegalArgumentException - si no n'est pas l'un des paramètres de la fonction.
java.lang.IllegalArgumentException - si valeurInitiale n'est pas dans le domaine de validité du paramètre.

relaxation

public double relaxation(double precision,
                         double stabilite,
                         java.awt.Component temoin)
Optimise la fonction sur chacun de ses paramètres alternativement.

Parameters:
precision - la précision souhaitée sur les paramètres.
stabilite - la précision souhaitée sur la valeur de la fonction.
temoin - un composant à repeindre après chaque cycle d'optimisation. null pour ne rien repeindre.
Returns:
la valeur optimisée.

relaxation

public double relaxation(int paramInitial,
                         int paramDebut,
                         int paramFin,
                         double precision,
                         double stabilite,
                         java.awt.Component temoin)
Optimise la fonction sur chacun de ses paramètres alternativement.

Parameters:
paramInitial - le numéro du paramètre à optimiser en premier. Permet la reprise d'une optimisation interrompue.
paramDebut - le numéro du premier paramètre à optimiser. Permet l'optimisation d'un sous-ensemble de paramètres.
paramFin - le numéro du dernier paramètre à optimiser. Permet l'optimisation d'un sous-ensemble de paramètres.
precision - la précision souhaitée sur les paramètres.
stabilite - la précision souhaitée sur la valeur de la fonction.
temoin - un composant à repeindre après chaque cycle d'optimisation. null pour ne rien repeindre.
Returns:
la valeur optimisée.

random

public void random()
Initialise les paramètres de la fonction aléatoirement.


random

public void random(double force)
Initialise les paramètres de la fonction aléatoirement.

Parameters:
force - la force de la randomization