• Aucun résultat trouvé

CERTIFICAT DE GEOMATIQUE MEMOIRE DE 3 ème CYCLE CENTRE UNIVERSITAIRE D ECOLOGIE HUMAINE UNIVERSITE DE GENEVE

N/A
N/A
Protected

Academic year: 2022

Partager "CERTIFICAT DE GEOMATIQUE MEMOIRE DE 3 ème CYCLE CENTRE UNIVERSITAIRE D ECOLOGIE HUMAINE UNIVERSITE DE GENEVE"

Copied!
29
0
0

Texte intégral

(1)

CERTIFICAT DE GEOMATIQUE 2001 MEMOIRE DE 3 ème CYCLE

CENTRE UNIVERSITAIRE D’ECOLOGIE HUMAINE UNIVERSITE DE GENEVE

PROGRAMME INFORMATIQUE DESTINE A UN CHAUFFEUR DE TAXI TRAVAILLANT A GENEVE,

LUI PERMETTANT DE CHOISIR LA MEILLEURE STATION EN FONCTION DE DIFFERENTS

CRITERES

Par Jean-Sébastien Wenger

Sous la direction du professeur Charles Hussy

Février 2003

(2)

Remerciements Je remercie le professeur Charles Hussy pour ses

précieux conseils et ses encouragements.

(3)

TABLE DES MATIERES

INTRODUCTION 4

DESCRIPTION DU PROGRAMME 4

CALCUL DU FACTEUR DE SINUOSITE 11

CALCUL DE LA VITESSE MOYENNE 11

SUR LES FORMULES DE REGRESSION 11

CONCLUSION 12

(4)

BIBLIOGRAPHIE 12

ANNEXE 1

LE TEXTE DU PROGRAMME INFORMATIQUE 13

ANNEXE 2

EXEMPLE DE BASE DE DONNEES

POUR LE TEMPS D ATTENTE 27

ANNEXE 3

EXEMPLE DE BASE DE DONNEES

POUR LES RECETTES 28

(5)

INTRODUCTION

Le présent mémoire a pour objet un programme informatique effectué dans le cadre du Certificat de géomatique de l'Université de Genève et destiné à être utilisé par un chauffeur de taxi travaillant à Genève.

Ce programme permet au chauffeur de taxi de choisir la meilleure station en fonction de différents critères.

A partir de données accumulées, le programme fait une prévision du temps de parcours, du temps d'attente et de la recette. En mettant ces éléments en rapport, il choisit la meilleure station.

Le programme a été effectué en MATLAB, version 3.5j du 3 mai 1991 sous DOS.

Cette ancienne version en DOS a été préférée, car elle évite la manipulation de la souris, ce qui est important pour un système destiné à être embarqué dans le taxi et à être consulté en mouvement.

DESCRIPTION DU PROGRAMME

Le problème d'un chauffeur de taxi sans centrale d'appel, après avoir déposé un client, est de savoir où se diriger pour avoir la meilleure relation

recette/temps écoulé jusqu'au prochain client. C'est-à-dire où l'espérance du prix de la prochaine course divisé par l'espérance du temps jusqu'à la

prochaine prise en charge donne le meilleur résultat.

Le 26 juin 1998, l'auteur de ces lignes a commencé à noter systématiquement le temps d'attente que lui-même expérimentait dans les différentes stations de taxi, de même que l'heure d'arrivée et le temps qu'il faisait au moment de la prise en charge du client.

A la suite de la suggestion d'un de ceux-ci, j'ai aussi commencé à noter systématiquement, à partir du 26 janvier 2000, la valeur des courses effectuées.

Utilisant les techniques de régression, j'ai ainsi pu faire un programme qui indiquait la meilleure station en fonction de l'heure, du jour de la semaine, du jour du mois, du mois et de la météo. Mais ce programme n'avait pas de référence géographique, c'est-à-dire qu'il ne tenait pas compte du temps nécessaire pour se rendre à la station choisie. La finalité du programme maintenant exposé est de tenir compte de cette nouvelle variable.

De tous ces relevés, il est apparut que des 64 stations de taxi que comptait le Canton de Genève à ce moment, onze étaient les plus utilisées mais

nécessitaient un nombre suffisant de données pour que les régressions

soient significatives. Ce nombre a été fixé à 180 puis arrondi à 200, vu qu'il y a 5 variables plus la constante et qu'en général on considère qu'un

échantillon est représentatif s'il comporte 30 éléments.

La transcription des annotations des données dans les fichiers respectifs a pris un certain retard et les formules de régression ici utilisées sont produites avec les données comprises entre les dates citées et le 4 septembre 2000.

La numération des stations de taxi correspond à celle utilisée par la centrale d'appel 022.33.141.33, sauf pour Le Lignon (409 au lieu de 702).

Les onze stations les plus utilisées et pour lesquelles le programme fournit des résultats sont les suivantes (entre parenthèses le numéro de la station, le nombre de données pour le temps d'attente et le nombre de données pour les recettes):

Gare Cornavin (116) (2053) (609) Place Bel-Air (107) (1755) (465) Rond-Point de Rive (103) ( 926) (325)

(6)

Manor (Rue J.-J. Rousseau) (118) ( 366) ( 87) Eaux-Vives (Pré-l'Evêque) (104) ( 252) ( 35) Aéroport-Arrivée (407) ( 215) (108) Place Longemalle (102) ( 203) ( 24) Hôtel du Rhône (Quai Turretini) (114) ( 201) ( 97) Place Neuve (108) ( 135) ( 27) Place du Cirque (305) ( 132) ( 56) Hôtel Noga-Hilton (Rue de la Cloche) (109) ( 60) ( 15)

On voit que de ces onze stations, trois seulement ont le nombre de données suffisantes. C'est pourquoi j'ai provisoirement baissé le critère à 60 données, ce qui élimine seulement les stations Longemalle, Eaux-Vives, Noga-Hilton, Cirque et Place Neuve. Nonobstant, les deux dernières ont été maintenues vu qu'elles correspondent à des horaires très précis, c'est-à-dire fin de spectacle pour la Place Neuve et fin de soirée pour la Place du Cirque.

L'élimination de Longemalle, Eaux-Vives et Noga-Hilton se fait à la fin du programme. Evidemment que dans le futur et à mesure qu'elles atteignent les conditions requises, d'autres stations seront prises en considération.

485 490 495 500 505 510

110 112 114 116 118 120 122 124 126 128 130

Chois is un s ec teur; c entre-ville= 0

A ni

A lV

A ly A s y

B ar

B elv

B er

Cge Car

Cha

ChB s ChB g

Chou CB y

CB e

Col

Con

Cor

Dar

G ent

G S

G y Her

Jus

Lac

Lan

M ei M ey

O ne

P Cx P lO

P Chy

P re P up

Rus S at

S or

Tho

Troi V er V an

V s oi

V ey

1 2 3 4 5 6

7 8 9 10

11

12 13

14 15 16 17 18 19

20 21 22 23 24 25

Le programme commence par une carte du Canton de Genève à l'échelle 1:150000, après que l'on ait, sous Matlab, écrit taxigeom et appuyé sur la touche enter.

Cette échelle est approximative, car sa valeur exacte dépend de l'ordinateur utilisé. L'axe horizontal représente 30 km et le vertical 22 km.

Ces axes sont gradués selon le système suisse de coordonnées (Dufour).

Sur cette carte sont représentées les limites politiques du Canton de Genève, les limites politiques de la Ville de Genève, ainsi que les 43 autres communes que comporte le canton.

(7)

Sont représentés aussi le lac, le Rhône et l'Arve. Les principales voies de communication ne figurent pas pour ne pas surcharger la carte. Onze croix représentent les onze stations de taxi qui font partie de l'ensemble des solutions possibles.

La carte est divisée en 24 sous-ensembles.

Le centre de chacun de ces sous-ensembles est un point de référence à partir duquel il est possible de calculer la meilleure solution. Bien sûr que l'idéal eût été d'avoir un système de GPS donnant la position exacte du véhicule, mais devant la complication que cela représente, il a été choisi cette solution, d'autant plus qu'une très grande précision n'est pas nécessaire.

Comme le sous-ensemble numéro 10 tombait au milieu du lac, il a été divisé en deux points 10 et 11. Le point 10 a été ramené sur la rive droite et

correspond à peu près au Vengeron. Le point 11 représente le village de Vésenaz. Ainsi les points de référence sont numérotés de 1 à 25.

Il existe encore deux points, 26 et 27, qui ne figurent pas sur la carte et qui servent à tenir compte de la traversée de la rade en relation à la station de l'aéroport et à corriger le temps de parcours pour le nord-est du canton,

c'est-à-dire la région comprise entre Hermance et Thônex. Cette correction sera expliquée plus avant. Le point 26 correspond au croisement du Quai Gustave-Ador avec la Rue Pierre-Fatio et le point 27 au croisement de la Route de Frontenex et de la Rue Pictet-de-Rochemont. Bien qu'ils ne figurent pas sur la carte, ces deux points peuvent servir aussi de points de référence pour le calcul des solutions.

Au-dessus de la carte, il est écrit: "choisis un secteur; centre-ville=0".

Donc après avoir appuyé sur n'importe quelle touche, le programme questionne

"secteur=?". A ce moment, il faut écrire le numéro du secteur ou point de référence et appuyer sur enter.

Si l'on veut plus de détails sur le centre-ville, il faut écrire le numéro zéro.

Apparaît alors une nouvelle carte à une échelle 3.6667 fois plus précise.

Sur celle-ci, en plus des données de la première, 31 stations de taxi sont représentées et indiquées par leur numéro respectif. Elles servent de nouveaux points de référence.

A noter qu'il n'est pas indispensable de venir sur cette carte pour utiliser ces nouveaux points de référence. On peut le faire directement à partir de la première carte et réciproquement.

(8)

497 498 499 500 501 502 116

117 118 119 120 121

Longem alle RiveE aux -V ives B el-A ir

Neuve Hilton Rhone

G are M anor

Cirque A eroport A rrivee

101

105

106 110

112

200

201 202 302 203

303 304

306

308 307 309 310 311

312

313 401

402 403

404 408

409

600 601

602 603

604 16

Les stations sont:

101: Vieille-Ville (Place du Bourg-de-Four) 105: Montchoisy (Avenue Théodore-Flournoy) 106: Tranchées (Rue Abraham-Constantin) 110: Pâquis (Rue de Zurich)

112: Sécheron (Rue Dentand) 200: Genève-Plage

201: Gare des Eaux-Vives 202: Florissant (Avenue Krieg)

203: Plateau de Champel 302: Place des Augustins 303: Pont-d'Arve (Rue Dancet) 304: Carrefour de la Jonction 306: Rond-Point de Plainpalais 307: Bureau des Autos

308: Carouge (Place du Marché) 309: Vernets (Rue François-Dussaud) 310: Servette (Rue Hoffmann)

311: Charmilles (Rue de Bourgogne) 312: Rue des Délices

313: Hôpital cantonal 401: Rue du Vidollet

402: ONU (Avenue de la Paix)

403: Tourelle (Chemin Moïse-Duboule) 404: Carrefour du Bouchet

408: Palexpo

409: Giratoire du Lignon 600: Rue des Noirettes 601: Place des Ormeaux

602: Grand-Lancy (Avenue Eugène-Lance) 603: Onex (Avenue des Grandes-Communes) 604: Lancy-Centre (Chemin Clair-Matin)

(9)

Les onze stations-solutions sont indiquées en toutes lettres et peuvent aussi servir de point de référence en utilisant leur numéro.

Donc avec les 11 stations-solutions, les 31 stations de taxi et les 27 points de référence, il y a au total 69 secteurs possibles.

De nouveau, après avoir appuyé sur n'importe quelle touche, le programme demande d'entrer le numéro du secteur.

Ceci fait, le programme calcule les distances à vol d'oiseau entre le secteur choisi et les onze stations-solutions.

Ces distances sont augmentées d'un facteur de sinuosité de 1.35 (voir plus loin).

Celles-ci sont divisées par une vitesse de 0.4458333 km/minute (26.75 km/h, voir plus loin), ce qui donne les onze temps nécessaires pour atteindre les stations-solutions.

Comme il a été dit plus haut, il y a une correction pour la région nord-est du canton du fait de la traversée de la rade. Pour cette région aussi, les vitesses pour atteindre les points de référence auxiliaires 26 et 27 sont plus élevées que la vitesse moyenne calculée. On a donc utilisé l'artifice suivant:

le programme calcule les distances à vol d'oiseau entre les secteurs 5, 6, 11 et 12 et le point 26, et les distances à vol d'oiseau entre les secteurs 13, 17, 18 et 19 et le point 27. Au lieu d'augmenter la vitesse, on peut diminuer la distance, ce qui revient au même. Donc selon l'estimation de la vitesse, les distances sont divisées par 2, 1.75, 1.5 ou pas divisées du tout (correction seulement de l'angle dû à la traversée du Pont du Mont-Blanc).

Quand un de ces secteurs est choisi, le programme tient compte des distances raccourcies jusqu'aux points 26 ou 27 et additionne les distances de ceux-ci aux stations qu'il a calculées par ailleurs. Ainsi les temps de parcours sont plus réalistes.

Pour les autres régions du canton, il était trop compliqué de faire un tel artifice, ce qui fait que les temps de parcours sont en général trop grands pour les secteurs éloignés de la ville. Pour pallier ce défaut, on peut

utiliser des carrefours portails d'entrée où il faudra de toutes façons passer, comme le carrefour du Bouchet ou le carrefour de la Jonction.

De plus, il n'était pas nécessaire de faire des corrections d'angle, vu que toutes les stations-solutions de la rive gauche sont proches du centre-ville.

A ce stade, le programme demande l'heure, le jour de la semaine, le jour du mois, le mois et la météo.

Pour l'heure il pose la question "h=?".

Afin d'assurer une continuité dans le relevé de l'heure en relation à la journée de travail, les heures ont été notées de 6 à 30 h. Ainsi 2 h du matin correspond à 26 h du jour précédent.

Les minutes ont été décimalisées, c'est-à-dire que si l'on veut entrer 20 h 15, par exemple, il faut écrire 20.25 et appuyer sur enter.

Les équivalences sont faciles à retenir:

5 min=.08 10 min=.17 15 min=.25 20 min=.33 25 min=.42 30 min=.5 35 min=.58 40 min=.67 45 min=.75 50 min=.83 55 min=.92

(10)

Pour le jour de la semaine, le programme pose la question "ds=?".

Du fait de ma double nationalité brésilienne, les abréviations correspondent à leur signification en portugais (dia da semana).

La numération ci-bas est utilisée:

dimanche=1 lundi=2 mardi=3 mercredi=4 jeudi=5 vendredi=6 samedi=7

"dm=?" pose la question du jour du mois. Ici rien de spécial à signaler, de même que pour la question suivante du mois "m=?".

Quant à la question de la météo "met=?", la convention suivante a été adoptée:

5 : ciel intégralement bleu (jour ou nuit) 5.25 : ciel bleu avec quelques nuages

5.5 : ciel moitié bleu, moitié couvert

5.75 : ciel majoritairement couvert avec un peu de bleu 6 : ciel intégralement couvert

6.25 : pluie légère mais les trottoirs sont encore secs 6.5 : il ne pleut pas mais les trottoirs sont mouillés 6.75 : pluie fine, trottoirs mouillés

7 : grosse pluie

7.25 : neige très mouillée

7.5 : il ne neige pas mais les trottoirs sont enneigés d'une neige récente 7.75 : neige peu mouillée

8 : neige poudreuse

A partir des informations entrées, le programme dans un premier temps

additionne l'heure donnée avec les différents temps de déplacement, ceci afin de pouvoir calculer les temps d'attente avec l'heure d'arrivée dans la station, vu que les régressions sont basées sur cette heure-là.

Avec les formules de régression, il calcule les temps d'attente.

Ensuite, il additionne l'heure donnée avec le temps de déplacement plus le temps d'attente pour obtenir l'heure de quitter la station, étant donné que les prévisions de recettes sont calculées à partir de l'heure de la prise en

charge.

Les prévisions de recettes sont calculées et finalement celles-ci sont divisées par le temps total, c'est-à-dire le temps de déplacement plus le temps

d'attente, exprimé en minutes. Les recettes sont exprimées en francs suisses.

C'est à ce moment que les stations de Longemalle, Eaux-Vives et Noga-Hilton sont éliminées en égalant à zéro le rapport recette/temps total (raft).

Ici les stations subissent quelques contraintes.

Entre 20 h 30 et 23 h 30, la station de Bel-Air est éliminée, car il est rare d'avoir des clients dans cet intervalle horaire.

En dehors de la période comprise entre 22 h 30 et 23 h 30, qui correspond à la sortie des spectacles, la station de la Place Neuve est éliminée.

Après 16 h 30, la station de l'Hôtel du Rhône est éliminée.

La station de Manor est éliminée après 19 h 15, sauf le jeudi quand elle est éliminée après 21 h 15, le vendredi après 19 h 45 et le samedi après 18 h 25.

Elle est aussi éliminée le dimanche. Ce programme est surtout basé sur la semaine du lundi au vendredi, c'est pourquoi, qu'en dehors de la station de Manor, il n'y a pas de contraintes concernant le samedi et le dimanche.

Avant 24 h, la station de la Place du Cirque est éliminée et finalement

après 24 h, la station de l'Aéroport-Arrivée est éliminée, c'est-à-dire que son rapport recette/temps total est égalé à zéro.

(11)

Le programme n'a plus qu'à choisir le meilleur résultat des rapports recette/temps total et à indiquer à quelle station il correspond.

Tous les résultats sont présentés sous forme de tableau.

Dans le haut du tableau , figurent les prévisions de recettes pour chaque station. Elles sont indiquées par fatu102, par exemple, pour la station 102.

Fatu est l'abréviation de "faturamento", c'est-à-dire recette. Elles sont exprimées en francs suisses.

Ensuite viennent les prévisions de temps. Il s'agit du temps total (tempo).

Dans les deux colonnes de droite, on trouve d'abord le temps de parcours (td, pour "tempo de deslocamento") et ensuite le temps d'attente (te, pour "tempo de espera"). Le temps total (tempo) est la somme de ces deux temps.

Tous les temps sont exprimés en minutes.

Dans la colonne de gauche, on trouve les prévisions du rapport recette/temps total, indiquées par raft102, par exemple. Raft est l'abréviation de

"ratio faturamento tempo".

Les stations où le rapport est égal à zéro, sont les stations ayant subi des contraintes.

Ensuite vient le numéro de la station choisie par le programme comme étant la meilleure, c'est-à-dire celle qui a le plus grand rapport recette/temps total.

Cette station est indiquée par le terme "best", abréviation de "boa estação"

(bonne station). Par coïncidence, ce mot correspond aussi au vocable anglais indiquant le meilleur.

Pour finir les valeurs entrées sont répétées afin de pouvoir vérifier leur exactitude.

Ainsi le chauffeur de taxi dispose de toutes les données qui lui permettent de choisir la meilleure station, suivant ou pas la suggestion du programme.

fatu102= 24.9 fatu107= 20.5 fatu114= 24.2 fatu305= 42.2 fatu103= 19.7 fatu108= 10.6 fatu116= 20.9 fatu407= 32.3 fatu104= 21.3 fatu109= 15.6 fatu118= 16.6

tempo102= 30 tempo107= 20 tempo114= 19 tempo305= 24 tempo103= 24 tempo108= 21 tempo116= 26 tempo407= 42 tempo104= 21 tempo109= 22 tempo118= 17

raft102= 0.00 td102= 5 te102= 25 raft103= 0.81 td103= 5 te103= 19 raft104= 0.00 td104= 6 te104= 15 raft107= 1.04 td107= 3 te107= 17 raft108= 0.00 td108= 3 te108= 18 raft109= 0.00 td109= 6 te109= 17 raft114= 0.00 td114= 3 te114= 16 raft116= 0.81 td116= 4 te116= 22 raft118= 0.96 td118= 4 te118= 14 raft305= 0.00 td305= 2 te305= 22 raft407= 0.77 td407= 11 te407= 31 best =

107

s= 304 h= 18.00 ds= 3 dm= 5 m= 2 m et= 6.00

(12)

CALCUL DU FACTEUR DE SINUOSITE

Pour calculer le facteur de sinuosité, j'ai procédé de la manière suivante:

un jour de travail (le 26-09-01), j'ai noté tous les déplacements effectués (courses de taxi) et relevé le nombre de kilomètres parcourus.

Ensuite j'ai mesuré toutes les distances à vol d'oiseau et fait le rapport entre ces deux grandeurs.

Ce jour-là, j'ai fait 125 km, alors que les distances à vol d'oiseau ont représenté 92.7 km.

La division des kilomètres parcourus par les kilomètres à vol d'oiseau, représentant le facteur de sinuosité, a donné une valeur de 1.3484 qui a été arrondie à 1.35.

CALCUL DE LA VITESSE MOYENNE

Pour calculer la vitesse moyenne, j'ai utilisé des données statistiques concernant mon activité de chauffeur de taxi que j'avais à disposition.

Ces données sont: la moyenne des kilomètres effectués par jour (99.3732 km), la moyenne du nombre de courses effectuées par jour (14.8754 courses),

la moyenne du temps de travail journalier (7.6491 h) et la moyenne du temps d'attente entre chaque course (15.8695 minutes).

Pour décimaliser ce dernier temps, il faut le diviser par 60 min et le multiplier par 1 h, ce qui donne 0.2645 h.

En multipliant ce résultat par le nombre de courses, nous obtenons le temps d'attente total de la journée, soit 0.2645 h x 14.8754 = 3.9345 h.

Le temps de conduite est égal au temps de travail moins le temps d'attente total: 7.6491 h - 3.9345 h = 3.7146 h.

Et finalement en divisant les kilomètres parcourus par le temps de conduite, nous obtenons la vitesse moyenne: 99.3732 km / 3.7147 h = 26.7521 km/h, arrondie à 26.75 km/h.

SUR LES FORMULES DE REGRESSION

Ces formules sont le produit de régressions du type des moindres carrés, c'est-à-dire de la minimalisation de la somme des carrés des écarts entre

"le plan" de régression et les points observés.

Je ne me suis pas préoccupé des critères statistiques tel que R carré, t statistique, etc., vu qu'il y a une sorte d'auto-élimination pour les coefficients qui ne sont pas statistiquement significatifs.

En effet, pour les trois stations qui ont un nombre suffisant de données

pour que les résultats soient valables, c'est-à-dire Cornavin, Bel-Air et Rive, on constate que l'influence du jour du mois est de, au maximum, 1.2 minute pour la prévision du temps d'attente et de 1.7 franc pour la prévision de la recette.

Donc, comme j'ai pu le déduire de graphiques concernant les différentes variables, moins les variables ont d'influence, plus les coefficients sont proches de zéro.

De ce fait, même si la variable "jour du mois", par exemple, avait un

t statistique plus petit que 2 (le niveau minimum d'acceptabilité), ce qui est probablement le cas, il n'est pas nécessaire de l'éliminer, vu que comme le coefficient est proche de zéro, l'influence est négligeable.

(13)

Les formules concernant les prévisions du temps d'attente:

te102=59.1740-0.5029*ht102-1.7210*ds-0.1310*dm-0.9011*m-2.8871*met;

te103=35.9781-0.4215*ht103-1.2886*ds-0.0058*dm-0.0352*m-0.8798*met;

te104=20.8831-0.0436*ht104-0.7722*ds-0.0363*dm+0.1573*m-0.5574*met;

te107=37.3636-0.8542*ht107-0.9976*ds+0.0383*dm-0.2337*m-0.3166*met;

te108=45.9971-1.2994*ht108-0.0040*ds-0.2628*dm+0.0742*m-0.5130*met;

te109= 8.2569-0.8951*ht109+1.0488*ds-0.0736*dm+0.0687*m+3.6091*met;

te114=55.1091-0.9776*ht114-0.5266*ds+0.0488*dm-0.1771*m-3.2825*met;

te116=35.0048-0.1911*ht116-1.7605*ds+0.0083*dm-0.2696*m-0.6867*met;

te118=43.0928-1.5127*ht118-1.2035*ds-0.0152*dm+0.0564*m+0.2597*met;

te305=34.2060-1.0606*ht305-1.3679*ds-0.1762*dm+0.0034*m+2.0082*met;

te407=80.0233-1.8935*ht407+0.7558*ds-0.0723*dm+0.6560*m-2.9741*met;

Les formules concernant les prévisions des recettes:

fatu102=93.8676-2.2965*hf102+2.7731*ds-0.3036*dm+0.5503*m-5.7339*met;

fatu103=15.2368-0.0335*hf103+0.4658*ds+0.0072*dm+0.0369*m+0.5888*met;

fatu104=17.8289-0.0091*hf104-0.6848*ds+0.0505*dm-0.3615*m+1.0264*met;

fatu107=19.2946-0.3681*hf107+0.2231*ds-0.0273*dm+0.3195*m+1.1280*met;

fatu108=-1.4252+2.0442*hf108-0.5314*ds-0.2657*dm+0.2587*m-3.8529*met;

fatu109=43.6246-1.0250*hf109+1.9967*ds-0.0514*dm+1.0707*m-2.8429*met;

fatu114=42.4843+0.0303*hf114+0.3279*ds+0.1288*dm-0.7244*m-3.1636*met;

fatu116=12.4819+0.0068*hf116-0.0628*ds+0.0544*dm+0.1199*m+1.3318*met;

fatu118=57.4220-2.2147*hf118+0.5865*ds+0.0446*dm+0.0701*m-0.3997*met;

fatu305=85.5680-2.8428*hf305-1.3191*ds-0.0032*dm-0.0939*m+2.1931*met;

fatu407= 3.5534+0.4210*hf407+0.6049*ds-0.1283*dm+2.0124*m+2.6063*met;

J'ai calculé les écarts-types pour les trois stations Cornavin, Bel-Air et Rive.

Pour le temps d'attente, ceux-ci ont donné respectivement 11.6, 11.4 et 11.3 minutes. On voit que les écarts-types sont pratiquement semblables et cela signifie qu'il y a à peu près 68 % de chance que le vrai temps d'attente se situe dans une fourchette de plus ou moins 12 minutes environ.

Pour les recettes, l'écart-type de Cornavin est de 16.4 FS, celui de Bel-Air de 7.8 FS et celui de Rive de 10.6 FS. Contrairement aux temps d'attente, les écarts-types des recettes sont assez variables. Ceci vient du fait que pour Cornavin, il est possible de prendre de très petites courses ou des très grandes comme Lausanne ou Annecy (beaucoup plus rarement). Dans une moindre mesure, cette situation se répète pour Rive, alors que les valeurs des courses de la Place Bel-Air sont plus régulières.

CONCLUSION

Ce programme est un exemple de géomatique appliquée aux problèmes de transports et grâce à lui, le chauffeur de taxi peut avoir une aide précieuse à la

décision.

Malgré la marge d'erreur, il donne des résultats que la pratique a montré être valables et il serait sans doute possible d'utiliser cette méthode pour la résolution d'autres problèmes.

BIBLIOGRAPHIE

Les cartes ont été établies à partir des données de la carte Top Swiss Genève N° 23 de Top Map Kartenverlag AG, Lucerne, Suisse (1997).

(14)

ANNEXE 1

LE TEXTE DU PROGRAMME INFORMATIQUE

écrit pour la version 3.5j de MATLAB sous DOS.

axis('normal')

axis([483.8 513.8 108.8 130.8])

cx=[502.0 498.5 497.9 498.1 496.8 498.6 497.0 495.7 494.4 493.8 492.6 491.9...

490.2 489.1 488.5 488.2 487.0 486.8 485.8 488.2 488.2 487.76 487.54...

486.08 486.2 485.0 485.8 487.9 490.5 491.6 493.1 494.7 495.3 496.0...

498.8 503.2 503.3 506.7 508.0 510.6 512.8 512.7 511.8 511.6 509.5...

507.4 508.6 508.3 507.6];

cy=[126.9 130.2 129.4 127.9 126.3 123.2 121.5 122.9 122.1 122.7 120.9 121.5...

120.9 120.0 120.2 119.8 119.5 117.8 117.0 115.5 114.86 114.3 114.74...

111.35 110.8 110.0 109.4 111.2 110.9 110.2 111.8 111.5 111.9 111.2...

110.9 113.5 114.9 117.6 117.6 118.9 121.8 123.4 123.3 124.2 122.5...

125.7 127.0 128.4 128.6];

lx=[504.5 504.3 502.3 502.4 502.0 502.3 501.9 501.5 500.748 500.756 500.9...

500.5 500.8 500.7 500.80 500.41 500.54 500.60 500.84 502.3 503.2 503.7...

504.1 503.8 504.0 505.5 506.4 507.4 507.6 508.8 508.8];

ly=[130.8 130.1 127.9 127.3 126.9 125.6 124.2 124.3 123.0 122.6 122.4 120.3...

119.6 119.3 118.64 118.15 117.942 117.945 117.85 118.7 120.3 120.9...

121.9 122.15 123.7 125.0 126.6 127.4 128.6 129.7 130.8];

rx=[500.475 499.93 499.53 499.25 499 498.75 498.32 498.13 497.53 496.63...

496.04 495.7 495.93 496.24 495.97 494.96 494.54 494.02 493.56 492.2...

491.84 491.5 491.2 491.1 490.84 489.56 488.94 488.2 487.76 487.54 486.08...

486.2 485 483.8];

ry=[118.046 117.92 117.91 117.75 117.76 117.68 117.51 117.45 117.68 116.63...

116.55 117 117.21 118.41 118.62 117.65 117.61 116.77 116.66 116.8 117.26...

117.42 117.26 116.5 115.7 114.7 114.74 114.86 114.3 114.74 111.35 110.8...

110 109.85];

ax=[513.8 513.4 512.9 512.5 512.1 510.5 508.9 508.06 507.94 507.46 507.7...

506.76 505.86 505.1 503.5 503.12 502.77 502.62 502.11 501.99 502.18...

502.06 501.86 501.76 501.61 501.5 501.49 501.28 501.25 500.99 500.79...

500.87 500.79 500.47 500.27 499.95 499.9 499.83 499.69 498.77 498.32];

ay=[110.1 110.4 110 110.06 110.94 111.66 111.4 112.4 112.74 112.9 113.88...

114.96 115.2 114.56 114.2 115 115.03 114.85 114.61 114.75 115 115.66...

115.93 115.99 115.98 115.88 115.66 115.23 114.95 114.86 115.2 115.64...

115.81 115.87 115.86 115.95 116.04 116.22 116.63 117.36 117.51];

vx=[500.58 499.71 499.70 499.28 498.88 498.84 498.58 498.42 498.36 498.45...

497.79 497.97 498.1785 497.48 497.61 498.35 498.36 498.55 498.79 498.68...

498.79 498.84 499.37 499.54 499.90 499.95 500.27 500.47 500.79 500.87...

500.79 500.99 501.25 501.28 501.49 501.50 501.61 501.76 502.51 502.48...

502.21 502.17 502.35 502.17];

vy=[120.64 120.68 120.43 120.86 120.49 120.53 120.18 120.31 120.22 120.13...

119.59 119.29 119.166 117.97 117.00 117.08 116.93 116.85 117.00 116.86...

116.76 115.95 116.32 116.07 116.04 115.95 115.86 115.87 115.81 115.64...

115.20 114.86 114.95 115.23 115.66 115.88 115.98 115.99 118.01 118.08...

117.94 118.17 118.36 118.57];

comx=[506.1 492.02 488.7 488.04 496.8 500.95 493.9 499.74 490.4 486.45 503.38...

504.05 506.26 498.46 504.76 503.23 495.32 506.2 488 501.2 498.79 508.8...

507.8 509.4 491.4 498.41 507 494.8 496.81 495.7 498.07 499.92 508.2...

506.91 489.7 491.3 491.8 504.23 500.54 504.44 495.56 502.16 502.84];

comy=[125.58 116.3 114.05 112 111.5 123.36 114.3 115.61 114.65 111.95 117.06...

116.42 120.11 125.15 123.26 119.41 114.54 124.05 116.75 124.47 121.32...

122.9 128.38 121.25 112.75 115.61 122.3 120.7 115.33 112.7 113.82...

121.53 119.1 118.49 115.9 119.1 111.25 115.99 112.8 119.53 119.06...

125.73 113.55];

stax=[500.5561 500.7841 501.1318 500.0032 500.026 500.653 499.855 500.0602...

500.0317 499.8037 497.4348];

(15)

stay=[117.6695 117.5555 117.5099 117.7892 117.4729 118.496 117.946 118.4846...

118.1654 117.3788 120.774];

sex=[487.5 492.5 497.5 502.2 507.5 512.5 487.5 492.5 497.5 500.7 504.302...

507.5 512.5 487.5 492.5 497.5 502.5 507.5 512.5 487.5 492.5 497.5 502.5...

507.5 512.5];

sey=[127.5 127.5 127.5 127.5 127.5 127.5 122.5 122.5 122.5 122.5 121.71 122.5...

122.5 117.5 117.5 117.5 117.5 117.5 117.5 112.5 112.5 112.5 112.5 112.5...

112.5];

estax=[500.4763 501.5869 500.7782 500.3336 500.4154 502.2255 501.7866 501.521...

500.7678 500.1055 499.9168 499.057 499.9973 500.6956 499.7779 499.3984...

499.0122 498.7717 499.2394 500.4718 499.4976 499.6934 498.6758...

498.1785 498.2077 496.6326 499.1578 498.1699 498.3855 496.898 497.6172];

estay=[117.3332 117.8748 116.9998 118.6575 119.2476 118.593 117.401 116.7834...

116.4402 116.4123 116.77 117.4871 117.1052 115.5428 115.5752 116.5127...

118.9103 118.4105 118.0172 116.6569 119.2799 119.9082 120.1775 119.166...

121.0498 117.8248 116.0129 116.2419 115.5439 116.4855 115.9469];

plot(cx,cy,vx,vy,'-r',lx,ly,'b',rx,ry,'-b',ax,ay,'-b',comx,comy,'or', sex,sey,'*',stax,stay,'xg')

grid

title('Choisis un secteur; centre-ville=0') text(506.1,125.58,'Ani')

text(492.02,116.3,'AlV') text(488.7,114.05,'Aly') text(488.04,112,'Asy') text(496.8,111.5,'Bar') text(500.95,123.36,'Belv') text(493.9,114.3,'Ber') text(499.74,115.61,'Cge') text(490.4,114.65,'Car') text(486.45,111.95,'Cha') text(503.38,117.06,'ChBs') text(504.05,116.42,'ChBg') text(506.26,120.11,'Chou') text(498.46,125.15,'CBy') text(504.76,123.26,'CBe') text(503.23,119.41,'Col') text(495.32,114.54,'Con') text(506.2,124.05,'Cor') text(488,116.75,'Dar') text(501.2,124.47,'Gent') text(498.79,121.32,'GS') text(508.8,122.9,'Gy') text(507.8,128.38,'Her') text(509.4,121.25,'Jus') text(491.4,112.75,'Lac') text(498.41,115.61,'Lan') text(507,122.3,'Mei') text(494.8,120.7,'Mey') text(496.81,115.33,'One') text(495.7,112.7,'PCx') text(498.07,113.82,'PlO') text(499.92,121.53,'PChy') text(508.2,119.1,'Pre') text(506.91,118.49,'Pup') text(489.7,115.9,'Rus') text(491.3,119.1,'Sat') text(491.8,111.25,'Sor') text(504.23,115.99,'Tho') text(500.54,112.8,'Troi') text(504.44,119.53,'Van') text(495.56,119.06,'Ver')

(16)

text(502.16,125.73,'Vsoi') text(502.84,113.55,'Vey') text(487.5,127.5,'1') text(492.5,127.5,'2') text(497.5,127.5,'3') text(502.2,127.5,'4') text(507.5,127.5,'5') text(512.5,127.5,'6') text(487.5,122.5,'7') text(492.5,122.5,'8') text(497.5,122.5,'9') text(500.7,122.5,'10') text(504.302,121.71,'11') text(507.5,122.5,'12') text(512.5,122.5,'13') text(487.5,117.5,'14') text(492.5,117.5,'15') text(497.5,117.5,'16') text(502.5,117.5,'17') text(507.5,117.5,'18') text(512.5,117.5,'19') text(487.5,112.5,'20') text(492.5,112.5,'21') text(497.5,112.5,'22') text(502.5,112.5,'23') text(507.5,112.5,'24') text(512.5,112.5,'25') pause

s1=[487.5 127.5];

s2=[492.5 127.5];

s3=[497.5 127.5];

s4=[502.2 127.5];

s5=[507.5 127.5];

s6=[512.5 127.5];

s7=[487.5 122.5];

s8=[492.5 122.5];

s9=[497.5 122.5];

s10=[500.7 122.5];

s11=[504.302 121.71];

s12=[507.5 122.5];

s13=[512.5 122.5];

s14=[487.5 117.5];

s15=[492.5 117.5];

s16=[497.5 117.5];

s17=[502.5 117.5];

s18=[507.5 117.5];

s19=[512.5 117.5];

s20=[487.5 112.5];

s21=[492.5 112.5];

s22=[497.5 112.5];

s23=[502.5 112.5];

s24=[507.5 112.5];

s25=[512.5 112.5];

s26=[500.8865 117.8196]; % croisement Pierre-Fatio Gustave-Ador s27=[501.2596 117.5098]; % croisement Pictet-de-Rochemont Frontenex s101=[500.4763 117.3332];

s102=[500.5561 117.6695];

s103=[500.7841 117.5555];

s104=[501.1318 117.5099];

s105=[501.5869 117.8748];

(17)

s106=[500.7782 116.9998];

s107=[500.0032 117.7892];

s108=[500.0260 117.4729];

s109=[500.6530 118.4960];

s110=[500.3336 118.6575];

s112=[500.4154 119.2476];

s114=[499.8550 117.9460];

s116=[500.0602 118.4846];

s118=[500.0317 118.1654];

s200=[502.2255 118.5930];

s201=[501.7866 117.4010];

s202=[501.5210 116.7834];

s203=[500.7678 116.4402];

s302=[500.1055 116.4123];

s303=[499.9168 116.7700];

s304=[499.0570 117.4871];

s305=[499.8037 117.3788];

s306=[499.9973 117.1052];

s307=[500.6956 115.5428];

s308=[499.7779 115.5752];

s309=[499.3984 116.5127];

s310=[499.0122 118.9103];

s311=[498.7717 118.4105];

s312=[499.2394 118.0172];

s313=[500.4718 116.6569];

s401=[499.4976 119.2799];

s402=[499.6934 119.9082];

s403=[498.6758 120.1775];

s404=[498.1785 119.1660];

s407=[497.4348 120.7740];

s408=[498.2077 121.0498];

s409=[496.6326 117.8248];

s600=[499.1578 116.0129];

s601=[498.1699 116.2419];

s602=[498.3855 115.5439];

s603=[496.8980 116.4855];

s604=[497.6172 115.9469];

ad526=sqrt((s5(1)-s26(1))^2+(s5(2)-s26(2))^2)/2;

ad626=sqrt((s6(1)-s26(1))^2+(s6(2)-s26(2))^2)/2;

ad1126=sqrt((s11(1)-s26(1))^2+(s11(2)-s26(2))^2)/2;

ad1226=sqrt((s12(1)-s26(1))^2+(s12(2)-s26(2))^2)/2;

ad1327=sqrt((s13(1)-s27(1))^2+(s13(2)-s27(2))^2)/1.75;

ad1727=sqrt((s17(1)-s27(1))^2+(s17(2)-s27(2))^2);

ad1827=sqrt((s18(1)-s27(1))^2+(s18(2)-s27(2))^2);

ad1927=sqrt((s19(1)-s27(1))^2+(s19(2)-s27(2))^2)/1.5; % correction de vitesse

e102=[500.5561 117.6695];

e103=[500.7841 117.5555];

e104=[501.1318 117.5099];

e107=[500.0032 117.7892];

e108=[500.0260 117.4729];

e109=[500.6530 118.4960];

e114=[499.8550 117.9460];

e116=[500.0602 118.4846];

e118=[500.0317 118.1654];

e305=[499.8037 117.3788];

e407=[497.4348 120.7740];

(18)

s=input('secteur=?');

if s==0

axis([496.52 502.52 115.25 121.25]) axis('square')

plot(cx,cy,vx,vy,'-r',lx,ly,'b',rx,ry,'-b',ax,ay,'-b',comx,comy,'or', sex,sey,'*',stax,stay,'xg',estax,estay,'og')

text(500.5561,117.6695,'Longemalle') text(500.7841,117.5555,'Rive')

text(501.1318,117.5099,'Eaux-Vives') text(500.0032,117.7892,'Bel-Air') text(500.0260,117.4729,'Neuve') text(500.6530,118.4960,'Hilton') text(499.8550,117.9460,'Rhône') text(500.0602,118.4846,'Gare') text(500.0317,118.1654,'Manor') text(499.8037,117.3788,'Cirque')

text(497.4348,120.7740,'Aéroport Arrivée') text(500.4763,117.3332,'101')

text(501.5869,117.8748,'105') text(500.7782,116.9998,'106') text(500.3336,118.6575,'110') text(500.4154,119.2476,'112') text(502.2255,118.5930,'200') text(501.7866,117.4010,'201') text(501.5210,116.7834,'202') text(500.7678,116.4402,'203') text(500.1055,116.4123,'302') text(499.9168,116.7700,'303') text(499.0570,117.4871,'304') text(499.9973,117.1052,'306') text(500.6956,115.5428,'307') text(499.7779,115.5752,'308') text(499.3984,116.5127,'309') text(499.0122,118.9103,'310') text(498.7717,118.4105,'311') text(499.2394,118.0172,'312') text(500.4718,116.6569,'313') text(499.4976,119.2799,'401') text(499.6934,119.9082,'402') text(498.6758,120.1775,'403') text(498.1785,119.1660,'404') text(498.2077,121.0498,'408') text(496.6326,117.8248,'409') text(499.1578,116.0129,'600') text(498.1699,116.2419,'601') text(498.3855,115.5439,'602') text(496.8980,116.4855,'603') text(497.6172,115.9469,'604') text(497.5,117.5,'16')

pause

s=input('secteur=?');

end if s==1 sc=s1;

ad=0;

end if s==2 sc=s2;

ad=0;

end if s==3

(19)

sc=s3;

ad=0;

end if s==4 sc=s4;

ad=0;

end if s==5 sc=s26;

ad=ad526;

end if s==6 sc=s26;

ad=ad626;

end if s==7 sc=s7;

ad=0;

end if s==8 sc=s8;

ad=0;

end if s==9 sc=s9;

ad=0;

end if s==10 sc=s10;

ad=0;

end if s==11 sc=s26;

ad=ad1126;

end if s==12 sc=s26;

ad=ad1226;

end if s==13 sc=s27;

ad=ad1327;

end if s==14 sc=s14;

ad=0;

end if s==15 sc=s15;

ad=0;

end if s==16 sc=s16;

ad=0;

end if s==17 sc=s27;

ad=ad1727;

end if s==18 sc=s27;

(20)

ad=ad1827;

end if s==19 sc=s27;

ad=ad1927;

end if s==20 sc=s20;

ad=0;

end if s==21 sc=s21;

ad=0;

end if s==22 sc=s22;

ad=0;

end if s==23 sc=s23;

ad=0;

end if s==24 sc=s24;

ad=0;

end if s==25 sc=s25;

ad=0;

end if s==26 sc=s26;

ad=0;

end if s==27 sc=s27;

ad=0;

end

if s==101 sc=s101;

ad=0;

end

if s==102 sc=s102;

ad=0;

end

if s==103 sc=s103;

ad=0;

end

if s==104 sc=s104;

ad=0;

end

if s==105 sc=s105;

ad=0;

end

if s==106 sc=s106;

ad=0;

(21)

end

if s==107 sc=s107;

ad=0;

end

if s==108 sc=s108;

ad=0;

end

if s==109 sc=s109;

ad=0;

end

if s==110 sc=s110;

ad=0;

end

if s==112 sc=s112;

ad=0;

end

if s==114 sc=s114;

ad=0;

end

if s==116 sc=s116;

ad=0;

end

if s==118 sc=s118;

ad=0;

end

if s==200 sc=s200;

ad=0;

end

if s==201 sc=s201;

ad=0;

end

if s==202 sc=s202;

ad=0;

end

if s==203 sc=s203;

ad=0;

end

if s==302 sc=s302;

ad=0;

end

if s==303 sc=s303;

ad=0;

end

if s==304 sc=s304;

ad=0;

end

(22)

if s==305 sc=s305;

ad=0;

end

if s==306 sc=s306;

ad=0;

end

if s==307 sc=s307;

ad=0;

end

if s==308 sc=s308;

ad=0;

end

if s==309 sc=s309;

ad=0;

end

if s==310 sc=s310;

ad=0;

end

if s==311 sc=s311;

ad=0;

end

if s==312 sc=s312;

ad=0;

end

if s==313 sc=s313;

ad=0;

end

if s==401 sc=s401;

ad=0;

end

if s==402 sc=s402;

ad=0;

end

if s==403 sc=s403;

ad=0;

end

if s==404 sc=s404;

ad=0;

end

if s==407 sc=s407;

ad=0;

end

if s==408 sc=s408;

ad=0;

end

if s==409

(23)

sc=s409;

ad=0;

end

if s==600 sc=s600;

ad=0;

end

if s==601 sc=s601;

ad=0;

end

if s==602 sc=s602;

ad=0;

end

if s==603 sc=s603;

ad=0;

end

if s==604 sc=s604;

ad=0;

end

d102=sqrt((sc(1)-e102(1))^2+(sc(2)-e102(2))^2)+ad;

d103=sqrt((sc(1)-e103(1))^2+(sc(2)-e103(2))^2)+ad;

d104=sqrt((sc(1)-e104(1))^2+(sc(2)-e104(2))^2)+ad;

d107=sqrt((sc(1)-e107(1))^2+(sc(2)-e107(2))^2)+ad;

d108=sqrt((sc(1)-e108(1))^2+(sc(2)-e108(2))^2)+ad;

d109=sqrt((sc(1)-e109(1))^2+(sc(2)-e109(2))^2)+ad;

d114=sqrt((sc(1)-e114(1))^2+(sc(2)-e114(2))^2)+ad;

d116=sqrt((sc(1)-e116(1))^2+(sc(2)-e116(2))^2)+ad;

d118=sqrt((sc(1)-e118(1))^2+(sc(2)-e118(2))^2)+ad;

d305=sqrt((sc(1)-e305(1))^2+(sc(2)-e305(2))^2)+ad;

d407=sqrt((sc(1)-e407(1))^2+(sc(2)-e407(2))^2)+ad;

d102s=d102*1.35; % facteur de sinuosité d103s=d103*1.35;

d104s=d104*1.35;

d107s=d107*1.35;

d108s=d108*1.35;

d109s=d109*1.35;

d114s=d114*1.35;

d116s=d116*1.35;

d118s=d118*1.35;

d305s=d305*1.35;

d407s=d407*1.35;

td102=d102s/.4458333; % 0.4458333 km / minute td103=d103s/.4458333;

td104=d104s/.4458333;

td107=d107s/.4458333;

td108=d108s/.4458333;

td109=d109s/.4458333;

td114=d114s/.4458333;

td116=d116s/.4458333;

td118=d118s/.4458333;

td305=d305s/.4458333;

td407=d407s/.4458333;

(24)

h=input('h=?');

ds=input('ds=?');

dm=input('dm=?');

m=input('m=?');

met=input('met=?');

ht102=h+td102/60;

ht103=h+td103/60;

ht104=h+td104/60;

ht107=h+td107/60;

ht108=h+td108/60;

ht109=h+td109/60;

ht114=h+td114/60;

ht116=h+td116/60;

ht118=h+td118/60;

ht305=h+td305/60;

ht407=h+td407/60;

t102d=59.1740-.5029*ht102-1.7210*ds-.1310*dm-.9011*m-2.8871*met;

t103d=35.9781-.4215*ht103-1.2886*ds-.0058*dm-.0352*m-.8798*met;

t104d=20.8831-.0436*ht104-.7722*ds-.0363*dm+.1573*m-.5574*met;

t107d=37.3636-.8542*ht107-.9976*ds+.0383*dm-.2337*m-.3166*met;

t108d=45.9971-1.2994*ht108-.0040*ds-.2628*dm+.0742*m-.5130*met;

t109d=8.2569-.8951*ht109+1.0488*ds-.0736*dm+.0687*m+3.6091*met;

t114d=55.1091-.9776*ht114-.5266*ds+.0488*dm-.1771*m-3.2825*met;

t116d=35.0048-.1911*ht116-1.7605*ds+.0083*dm-.2696*m-.6867*met;

t118d=43.0928-1.5127*ht118-1.2035*ds-.0152*dm+.0564*m+.2597*met;

t305d=34.2060-1.0606*ht305-1.3679*ds-.1762*dm+.0034*m+2.0082*met;

t407d=80.0233-1.8935*ht407+.7558*ds-.0723*dm+.6560*m-2.9741*met;

tt102=td102+t102d;

tt103=td103+t103d;

tt104=td104+t104d;

tt107=td107+t107d;

tt108=td108+t108d;

tt109=td109+t109d;

tt114=td114+t114d;

tt116=td116+t116d;

tt118=td118+t118d;

tt305=td305+t305d;

tt407=td407+t407d;

hf102=h+tt102/60;

hf103=h+tt103/60;

hf104=h+tt104/60;

hf107=h+tt107/60;

hf108=h+tt108/60;

hf109=h+tt109/60;

hf114=h+tt114/60;

hf116=h+tt116/60;

hf118=h+tt118/60;

hf305=h+tt305/60;

hf407=h+tt407/60;

f102d=93.8676-2.2965*hf102+2.7731*ds-.3036*dm+.5503*m-5.7339*met;

f103d=15.2368-.0335*hf103+.4658*ds+.0072*dm+.0369*m+.5888*met;

f104d=17.8289-.0091*hf104-.6848*ds+.0505*dm-.3615*m+1.0264*met;

f107d=19.2946-.3681*hf107+.2231*ds-.0273*dm+.3195*m+1.1280*met;

f108d=-1.4252+2.0442*hf108-.5314*ds-.2657*dm+.2587*m-3.8529*met;

f109d=43.6246-1.0250*hf109+1.9967*ds-.0514*dm+1.0707*m-2.8429*met;

f114d=42.4843+.0303*hf114+.3279*ds+.1288*dm-.7244*m-3.1636*met;

(25)

f116d=12.4819+.0068*hf116-.0628*ds+.0544*dm+.1199*m+1.3318*met;

f118d=57.4220-2.2147*hf118+.5865*ds+.0446*dm+.0701*m-.3997*met;

f305d=85.5680-2.8428*hf305-1.3191*ds-.0032*dm-.0939*m+2.1931*met;

f407d=3.5534+.4210*hf407+.6049*ds-.1283*dm+2.0124*m+2.6063*met;

raft102=f102d/tt102;

raft103=f103d/tt103;

raft104=f104d/tt104;

raft107=f107d/tt107;

raft108=f108d/tt108;

raft109=f109d/tt109;

raft114=f114d/tt114;

raft116=f116d/tt116;

raft118=f118d/tt118;

raft305=f305d/tt305;

raft407=f407d/tt407;

raft102=0;

raft104=0;

raft109=0;

if h>20.5&h<23.5 raft107=0;

end

if h<22.5|h>23.5 raft108=0;

end

if h>16.5 raft114=0;

end if ds==1 raft118=0;

end

if ds<5&h>19.25 raft118=0;

end

if ds==5&h>21.25 raft118=0;

end

if ds==6&h>19.75 raft118=0;

end

if ds==7&h>18.25 raft118=0;

end if h<24 raft305=0;

end if h>24 raft407=0;

end

est=[102 103 104 107 108 109 114 116 118 305 407];

ra=[raft102 raft103 raft104 raft107 raft108 raft109 raft114 raft116 raft118...

raft305 raft407];

rama=max(ra);

mest=length(est);

for i=1:mest if ra(i)==rama sol=i;

end

(26)

end

fprintf('fatu102=%6.1f',f102d) fprintf(' fatu107=%6.1f',f107d) fprintf(' fatu114=%6.1f',f114d) fprintf(' fatu305=%6.1f',f305d)

fprintf(' fatu103=%6.1f',f103d) fprintf(' fatu108=%6.1f',f108d)

fprintf(' fatu116=%6.1f',f116d) fprintf(' fatu407=%6.1f',f407d)

fprintf(' fatu104=%6.1f',f104d) fprintf(' fatu109=%6.1f',f109d)

fprintf(' fatu118=%6.1f',f118d)

disp(' ')

fprintf('tempo102=%3.0f',tt102) fprintf(' tempo107=%3.0f',tt107) fprintf(' tempo114=%3.0f',tt114) fprintf(' tempo305=%3.0f',tt305)

fprintf(' tempo103=%3.0f',tt103) fprintf(' tempo108=%3.0f',tt108)

fprintf(' tempo116=%3.0f',tt116) fprintf(' tempo407=%3.0f',tt407)

fprintf(' tempo104=%3.0f',tt104) fprintf(' tempo109=%3.0f',tt109)

fprintf(' tempo118=%3.0f',tt118)

disp(' ')

fprintf('raft102=%7.2f',raft102)

fprintf(' td102=%3.0f',td102) fprintf(' te102=%3.0f',t102d)

fprintf(' raft103=%7.2f',raft103) fprintf(' td103=%3.0f',td103)

fprintf(' te103=%3.0f',t103d)

fprintf(' raft104=%7.2f',raft104) fprintf(' td104=%3.0f',td104)

fprintf(' te104=%3.0f',t104d)

fprintf(' raft107=%7.2f',raft107) fprintf(' td107=%3.0f',td107)

fprintf(' te107=%3.0f',t107d)

fprintf(' raft108=%7.2f',raft108) fprintf(' td108=%3.0f',td108)

fprintf(' te108=%3.0f',t108d)

fprintf(' raft109=%7.2f',raft109) fprintf(' td109=%3.0f',td109)

fprintf(' te109=%3.0f',t109d)

fprintf(' raft114=%7.2f',raft114) fprintf(' td114=%3.0f',td114)

fprintf(' te114=%3.0f',t114d)

fprintf(' raft116=%7.2f',raft116) fprintf(' td116=%3.0f',td116)

fprintf(' te116=%3.0f',t116d)

fprintf(' raft118=%7.2f',raft118) fprintf(' td118=%3.0f',td118)

fprintf(' te118=%3.0f',t118d)

fprintf(' raft305=%7.2f',raft305) fprintf(' td305=%3.0f',td305)

fprintf(' te305=%3.0f',t305d)

fprintf(' raft407=%7.2f',raft407)

(27)

fprintf(' td407=%3.0f',td407) fprintf(' te407=%3.0f',t407d)

best=est(sol)

fprintf('s=%4.0f ',s) fprintf('h=%6.2f ',h) fprintf('ds=%2.0f ',ds) fprintf('dm=%3.0f ',dm) fprintf('m=%3.0f ',m)

fprintf('met=%5.2f ',met)

(28)

ANNEXE 2

EXEMPLE DE BASE DE DONNEES POUR LE TEMPS D'ATTENTE

Prise en charge du client sur place.

La première et la dernière colonnes sont des compteurs.

La deuxième colonne indique les temps d'attente en minutes (minimum 1 min), les 3ème et 4ème l'heure d'arrivée dans la station, la 5ème le jour de la semaine, la 6ème le jour du mois, la 7ème le mois, la 8ème l'année et la 9ème la météo au moment du départ de la station.

Pour les conventions utilisées, se référer au corps principal de ce mémoire.

Gare Cornavin

min d'attente h-min js jm m an météo X116 =[16 7 21 28 2 29 6 1998 5 1 16 15 21 57 2 29 6 1998 5 2 16 1 27 53 2 29 6 1998 5 3 16 12 19 42 3 30 6 1998 6 4 16 23 20 05 3 30 6 1998 5.5 5 16 4 24 23 3 30 6 1998 5 6 16 5 26 13 3 30 6 1998 5 7 16 13 18 06 4 1 7 1998 5.5 8 16 18 19 41 4 1 7 1998 5.5 9 16 3 23 33 4 1 7 1998 6 10 16 10 24 16 4 1 7 1998 7 11 16 12 19 23 5 2 7 1998 7 12 16 7 22 09 5 2 7 1998 7 13 16 10 24 37 5 2 7 1998 7 14 16 2 24 26 6 3 7 1998 5 15 16 2 28 01 6 3 7 1998 5 16 16 4 28 20 6 3 7 1998 5 17 16 52 16 42 2 6 7 1998 5 18 16 32 17 56 2 6 7 1998 5 19 16 13 24 19 2 6 7 1998 5 20 16 10 20 54 4 8 7 1998 5.5 21 16 38 21 34 6 10 7 1998 5 22 16 14 20 32 2 13 7 1998 6 23 16 32 20 56 2 13 7 1998 6 24 16 7 24 49 2 13 7 1998 7 25 16 28 25 20 2 13 7 1998 7 26 16 12 22 02 4 15 7 1998 5 27 16 52 25 11 4 15 7 1998 5 28 16 13 22 01 6 17 7 1998 5 29 16 22 25 18 6 17 7 1998 5.5 30 16 15 17 55 2 20 7 1998 5 31 16 16 18 19 2 20 7 1998 5 32 16 11 18 42 2 20 7 1998 5 33 16 4 23 07 2 20 7 1998 5 34 16 8 24 38 2 20 7 1998 5 35 16 32 25 09 2 20 7 1998 5 36 16 27 24 38 3 21 7 1998 5.5 37 16 32 19 56 4 22 7 1998 5.5 38 16 10 24 34 4 22 7 1998 5.5 39 16 3 25 39 4 22 7 1998 5.5 40 16 18 20 46 5 23 7 1998 5 41 16 8 24 25 5 23 7 1998 5 42 16 23 24 51 5 23 7 1998 5 43 16 11 25 23 5 23 7 1998 5 44 16 26 26 10 5 23 7 1998 5 45 16 16 26 51 5 23 7 1998 5 46 16 21 19 49 6 24 7 1998 5.5 47

(29)

ANNEXE 3

EXEMPLE DE BASE DE DONNEES POUR LES RECETTES

Prise en charge du client sur place.

La première et la dernière colonnes sont des compteurs.

La deuxième colonne indique le prix des courses de taxi effectuées,

la 3ème l'heure de départ de la station, c'est-à-dire par exemple, 16 h pour un départ situé entre 15 h30 et 16 h 29, la 4ème le jour de la semaine, la 5ème le jour du mois, la 6ème le mois, la 7ème l'année et la 8ème la météo au moment du départ de la station.

Pour les conventions utilisées, se référer au corps principal de ce mémoire.

Place Bel-Air

recette en francs h js jm m an météo XF107 =[7 16 24 4 26 1 2000 6 1 7 15 16 5 27 1 2000 5 2 7 17 20 5 27 1 2000 5 3 7 16 21 5 27 1 2000 5 4 7 20 24 5 27 1 2000 5 5 7 30 24 5 27 1 2000 5 6 7 40 18 2 31 1 2000 5.25 7 7 20 19 2 31 1 2000 5.25 8 7 13 24 2 31 1 2000 5.25 9 7 13 15 3 1 2 2000 5.25 10 7 30 16 3 1 2 2000 5.25 11 7 15 17 3 1 2 2000 5.25 12 7 45 18 3 1 2 2000 5.5 13 7 26 20 3 1 2 2000 6 14 7 44 16 4 2 2 2000 7 15 7 15 19 4 2 2 2000 6.75 16 7 17 15 5 3 2 2000 5 17 7 15 16 5 3 2 2000 5 18 7 28 17 5 3 2 2000 5 19 7 15.7 18 5 3 2 2000 5 20 7 12 21 5 3 2 2000 5 21 7 17.5 24 5 3 2 2000 5 22 7 12 25 5 3 2 2000 5 23 7 10 16 6 4 2 2000 5 24 7 14.5 16 6 4 2 2000 5 25 7 15 17 6 4 2 2000 5 26 7 25.7 19 6 4 2 2000 5 27 7 10.8 24 6 4 2 2000 5 28 7 42 24 6 4 2 2000 5 29 7 13 16 2 7 2 2000 6 30 7 18.9 17 2 7 2 2000 6 31 7 18 17 2 7 2 2000 6 32 7 14 15 3 8 2 2000 7 33 7 15 16 3 8 2 2000 7 34 7 15 16 3 8 2 2000 7 35 7 15 18 3 8 2 2000 7 36 7 20 19 3 8 2 2000 7 37 7 13 19 3 8 2 2000 7 38 7 20.5 24 3 8 2 2000 7 39 7 17 17 4 9 2 2000 6 40 7 20 17 4 9 2 2000 6 41 7 15 18 4 9 2 2000 6.5 42 7 17.7 18 4 9 2 2000 6 43 7 10 23 4 9 2 2000 5.75 44 7 17 24 4 9 2 2000 5.5 45 7 30 15 5 10 2 2000 5.25 46

Références

Documents relatifs

Quelle heure est-il?. 9h00

Quelle heure est-il?.

nombre du bas, il faut que tu enlèves 1 heure à la durée et du haut et que tu rajoutes 60 minutes à cette même

3 –Nous avons froid nous avons faim C’est Toi qui nous rassembles Tu viens nous partager ton pain Car Tu es l’amour !...

Dans le cas de l’énoncé (10.b.), par exemple, nous avons trouvé que l’orientation vers le passé se fait à l’aide du complément de lieu mais nous préférons ajouter que

Au départ, toutes les portes marquées d’un rond blanc sont ouvertes, toutes celles marquées d’un rond noir sont fermées.. Chaque fois que tu passes une porte

Sciences Po Executive Education dispose de l’agrément du ministère de la Cohésion des territoires et des Relations avec les collectivités territoriales, ce certificat est

fabrications réalisées quand Michel avait une classe de transition (6 heures par jour).. Maintenont, c'est