Un algorithme d’optimisation appliqué au problème de stratification unidimensionnelle
Section 4. Algorithme génétique biaisé à clés aléatoires
L’algorithme génétique biaisé à clés
aléatoires (appelé BRKGA dans la suite de notre exposé), que proposent
Gonçalves et Resende (2011), est une méthode métaheuristique qui a été
appliquée à plusieurs problèmes d’optimisation. Voir Festa (2013) et Oliveira
et coll. (2017), par exemple. Le principe sous-tendant cette méthode
rappelle la théorie biologique de l’évolution des espèces.
L’algorithme prend une
« population » initiale de solutions possibles au problème cible,
laquelle vient d’un mécanisme aléatoire spécifié. Cette population évolue
ensuite au gré des itérations en conservant les meilleures solutions
disponibles à chaque itération (solutions retenues) et en remplaçant les
solutions non retenues par des solutions produites par perturbation aléatoire
et évoquant les croisements et les mutations des populations naturelles. Au fil
des itérations, les solutions sont conservées ou évoluent selon la valeur de la
fonction à optimiser.
Dans l’algorithme BRKGA, les solutions
candidates sont codées, c’est-à-dire sont représentées par des vecteurs dont
les éléments sont des nombres dans l’intervalle
Avec un vecteur observé, une procédure de
décodage doit être appliquée. Cette procédure fait correspondre la valeur d’un
vecteur à une solution possible du problème d’optimisation cible. C’est ce qui
relie l’algorithme au problème d’optimisation précis à traiter. La
figure 4.1 présente le pseudocode d’un algorithme BRKGA générique.
La démarche est décrite et illustrée en
détail à la section 4.1 avec un exemple de problème de stratification
unidimensionnelle et une description de toutes les étapes à la figure 4.1.

Description de la figure 4.1
Figure
présentant le pseudo-code pour un algorithme BRKGA.
- On génère la population initiale composée de
vecteurs aléatoires (clés)
où chaque valeur est tirée aléatoirement de la distribution
uniforme
- On applique la procédure de décodage à chaque vecteur
de la population, ce qui donne
solutions
possibles du problème d’optimisation.
- On calcule la valeur de la fonction objective pour
chaque solution dans la population.
- On choisit les
meilleures solutions (appelées solutions retenues)
selon les valeurs de la fonction objective et les ajoute à la population à
considérer à l’itération suivante.
- On génère
nouveaux
vecteurs aléatoires comme à l’étape 1), ce qu’on appelle les mutations, et les ajoute à la population
à considérer à l’itération suivante.
- On génère les
vecteurs restants appelés croisements pour compléter la population qui sera considérée à
l’itération suivante, et ce, en croisant un des
vecteurs d’une solution retenue avec un des
vecteurs d’une des solutions non retenues à la
présente itération.
- On fait des itérations à partir de l’étape 2)
tant que les critères d’arrêt ne sont pas remplis.
4.1 Algorithme BRKGA pour
le problème de stratification unidimensionnelle
On considère
d’abord le vecteur de population
et
calcule l’ensemble
contenant les
valeurs distinctes de
observées dans la population. Si
par
exemple,
Si
nous calculons les dix percentiles supérieurs de
pour dégager l’ensemble
Si
nous calculons les percentiles choisis de
pour dégager l’ensemble
Nous avons retenu le point de démarcation de
100 pour
après une certaine expérimentation initiale de
notre méthode avec quelques-unes des populations considérées dans l’expérience
numérique que nous décrivons à la section 5. Les définitions autres de
l’ensemble
aident à diversifier le jeu de solutions possibles issu de l’algorithme
BRKGA.
Dans
l’application de l’algorithme au problème de stratification unidimensionnelle,
chaque solution est représentée par un vecteur
à
positions où les
premières positions contiennent des valeurs
entre 0 et 1 et où la position
reçoit la valeur d’un percentile de la distribution de la variable de
stratification
Nous prenons
ensuite
comme valeur la plus petite de
et
comme élément choisi au hasard dans
À
la première itération, nous tirons les valeurs des
premières positions de chaque vecteur
indépendamment de la distribution uniforme
La procédure
de décodage permettant de dégager de chaque vecteur
généré une solution du problème de
stratification unidimensionnelle se définit ainsi :
Une fois
obtenues les
premières valeurs pour
celles-ci doivent être mises par ordre
croissant de sorte que les éléments du vecteur résultant
forment les bornes de solution pour le vecteur
correspondant,
étant la statistique de
ordre des valeurs
calculées en (4.1).
Pour citer un
exemple de décodage, supposons que
Considérons aussi le vecteur
généré comme nous l’avons décrit. Il s’ensuit
que
que
et
que
Après tri, on obtient alors
Le
vecteur
étant donné, les valeurs de
et
s’obtiennent facilement pour chacune des
strates. Nous dégageons les valeurs des
tailles d’échantillon
pour les diverses
strates en appliquant la méthode de répartition optimale proposée par de Moura Brito
et coll. (2015). Nous calculons ainsi les tailles d’échantillon
de manière à minimiser une somme pondérée des
variances (ou des CV) des estimateurs des totaux de
variables d’enquête, la taille totale d’échantillon
étant fixe.
Comme nous prenons ici comme cible de la
minimisation la variance de l’estimateur pour le total de la variable de
stratification
nous posons
et
utilisons la formulation (D) qui vient de de Moura Brito et coll.
(2015) pour résoudre le problème de répartition optimale unidimensionnelle avec
l’équation (2.6) comme variance à minimiser. À noter que cette méthode donne
l’optimum global pour le problème de répartition.
Nous
poursuivons avec l’algorithme selon la figure 4.1 en générant un ensemble
initial de
vecteurs
À
l’étape 2, nous décodons chacun de ces vecteurs
pour dégager une solution possible
du
problème de stratification optimale. À l’étape 3, nous obtenons la répartition
optimale correspondant à
et
calculons la valeur de la fonction objective. Nous exécutons ensuite les
étapes 4 à 6 pour trouver la population suivante de solutions possibles et
reprenons la procédure jusqu’à ce que les critères d’arrêt soient remplis. À
l’étape 4, nous dégageons les
solutions retenues et les ajoutons à la
population suivante. À l’étape 5, nous produisons
mutations et les ajoutons à la population
suivante. À l’étape 6, nous produisons
croisements
à l’aide de l’opérateur de « croisement
uniforme » proposé par Spears et De Jong (1991) pour tirer un nouveau
vecteur
d’une des
solutions retenues et d’une des
solutions non retenues actuelles. Nous procédons ainsi : une fois choisis les
deux vecteurs
et
à
croiser, nous générons un vecteur auxiliaire à clés
aléatoires
avec des tirages indépendants de la distribution
uniforme
Soit
une
probabilité préspécifiée qu’une valeur soit copiée du
vecteur retenu
Nous formons alors le vecteur croisé
en
en tirant les valeurs de
aux
positions où la valeur correspondante dans
est moindre que
(ce
qui équivaut à 0,7 dans l’exemple de la
figure 4.2) et de
à toutes les autres positions.
Pour produire
chacun des
vecteurs de la génération suivante,
l’algorithme choisit un vecteur
au
hasard (par la fonction d’échantillon en
dans les
vecteurs retenus et un autre vecteur
dans les
vecteurs non retenus et il croise les vecteurs
ainsi obtenus. La sélection des vecteurs à partir des deux sous-ensembles se
fait avec remise, ce qui implique que, individuellement, des vecteurs retenus
ou non retenus peuvent être sélectionnés pour être croisés plus d’une fois.

Description de la figure 4.2
Tableau
présentant le croisement uniforme avec
Tableau
Figure 4.2
Sommaire du tableau
Le tableau montre les résultats de Figure 4.2. Les données sont présentées selon Vecteurs\positions (titres de rangée) et 1, 2 et 3(figurant comme en-tête de colonne).
| Vecteurs\positions |
1 |
2 |
3 |
|
0,31 |
0,77 |
0,65 |
|
0,26 |
0,18 |
0,36 |
|
0,58 |
0,89 |
0,11 |
|
0,31 |
0,18 |
0,65 |
Prenons
maintenant un exemple avec
et
La
figure 4.3 illustre l’application de toutes les étapes de l’algorithme au
problème de stratification unidimensionnelle pour deux itérations consécutives
de cet algorithme.
Nous avons
mis en œuvre dans le package stratbr en R disponible à partir de CRAN (voir de Moura Brito et coll.,
2017a) l’approche BRKGA ici décrite du problème de stratification optimale
unidimensionnelle. Le package a permis d’obtenir tous les résultats présentés à
la section 5.

Description de la figure 4.3
Diagramme
illustrant l’application de toutes les étapes de l’algorithme BRKGA au problème
de stratification unidimensionnelle pour deux itérations consécutives de cet
algorithme. Les étapes sont la génération de la population initiale, le
décodage, le calcul de la fonction objective, l’ordre, la production des
solutions retenues et non retenues, la génération des mutations et des
croisements, la production de la nouvelle population et ensuite, on itère à
nouveau à partir de l’étape de décodage jusqu’à ce qu’on atteigne le critère
d’arrêt.
ISSN : 1712-5685
Politique de rédaction
Techniques d’enquête publie des articles sur les divers aspects des méthodes statistiques qui intéressent un organisme statistique comme, par exemple, les problèmes de conception découlant de contraintes d’ordre pratique, l’utilisation de différentes sources de données et de méthodes de collecte, les erreurs dans les enquêtes, l’évaluation des enquêtes, la recherche sur les méthodes d’enquête, l’analyse des séries chronologiques, la désaisonnalisation, les études démographiques, l’intégration de données statistiques, les méthodes d’estimation et d’analyse de données et le développement de systèmes généralisés. Une importance particulière est accordée à l’élaboration et à l’évaluation de méthodes qui ont été utilisées pour la collecte de données ou appliquées à des données réelles. Tous les articles seront soumis à une critique, mais les auteurs demeurent responsables du contenu de leur texte et les opinions émises dans la revue ne sont pas nécessairement celles du comité de rédaction ni de Statistique Canada.
Présentation de textes pour la revue
Techniques d’enquête est publiée en version électronique deux fois l’an. Les auteurs désirant faire paraître un article sont invités à le faire parvenir en français ou en anglais en format électronique et préférablement en Word au rédacteur en chef, (statcan.smj-rte.statcan@canada.ca, Statistique Canada, 150 Promenade du Pré Tunney, Ottawa, (Ontario), Canada, K1A 0T6). Pour les instructions sur le format, veuillez consulter les directives présentées dans la revue ou sur le site web (www.statcan.gc.ca/Techniquesdenquete).
Note de reconnaissance
Le succès du système statistique du Canada repose sur un partenariat bien établi entre Statistique Canada et la population, les entreprises, les administrations canadiennes et les autres organismes. Sans cette collaboration et cette bonne volonté, il serait impossible de produire des statistiques précises et actuelles.
Normes de service à la clientèle
Statistique Canada s'engage à fournir à ses clients des services rapides, fiables et courtois. À cet égard, notre organisme s'est doté de normes de service à la clientèle qui doivent être observées par les employés lorsqu'ils offrent des services à la clientèle.
Droit d'auteur
Publication autorisée par le ministre responsable de Statistique Canada.
© Sa Majesté la Reine du chef du Canada, représentée par le ministre de l’Industrie 2019
L'utilisation de la présente publication est assujettie aux modalités de l'Entente de licence ouverte de Statistique Canada.
N° 12-001-X au catalogue
Périodicité : semi-annuel
Ottawa