Aflevering n°1 : ChatGPT vs Gouvernante: le combat!

chatgptvs

Mon uitdaging

Cela fait bien 3 ans que je passe la moitié de mon temps à créer des algorithmes pour automatiser l'ouverture le matin dans les hôtels. Venu fraichement du monde de la R&D je pensais le problème facile à résoudre...jusqu'à que je comprenne que le problème est bien plus complexe qu'il n'en a l'air....

Alors c'est vrai que quand le génie ChatGPT a pointé du nez je suis rué pour voir s'il faisait mieux que moi. Je ne dis pas mieux que les gouvernant.e.s car ça c'est impossible (😉) mais au moins plus vite !

Le PMS Opera (et d'autres bien sur) sait faire une ouverture me direz vous... je répondrais que c'est en dessous de tout : une répartition linéaire bête et méchante.

J'en sais quelque chose : mon algorithme s'est fait insulté tellement de fois que j'ai commencé à comprendre qu'il y avait d'abord un problème de définition.

Pas si simple

Au début ça commence par : bah c'est simple il faut juste donner 12 chambres par femme de chambre.

Et puis ça se complique : ah, mais il faut respecter sa section et aussi ses crédits. Très bien... Mais il faut maximum 2 étages sinon il faut retirer des crédits...ok...et puis aussi si jamais il n'y a pas assez de crédits/chambres dans la section il faut puiser dans la section adjacente... qui d'ailleurs pas toujours la plus logique.

A chaque fois, je rajoute des contraintes à mon Solver... et ce n'est jamais assez : ah mais il faut équilibrer les départs (plus longs) avec les arrivées. J'avais oublié qu'il faut donner les chambres propres mais ne pas les compter tout de même! et la liste s'allonge

Un jour je publierais une liste des contraintes par pays... personne n'est d'accord! Ik heb een lijst van 200 beperkingen samengesteld...

J'ai fini par mettre en place un algorithme de type gestion de contraintes linéaire. Donner un poids à chaque contrainte qui peuvent être mutuellement exclusive : changer d'étage ne vaut le coup que si on a au moins 2 chambres, si pas assez de crédit alors rajouter un étage mais retirer des crédits...

La métaphore des taches

C'est un peu comme la métaphore des taches : si tu commence par les petites taches, il ne restera pas de place pour les grosses tâches :

Hij was een keer... een gerenommeerde expert die een conferentie hield over de beste manier om zijn tijd te plannen.
" Je vous propose une expérience " dit-il à son public attentif.
Il prit un grand bocal de verre et le remplit à ras bord de gros cailloux de la taille d'une balle de tennis. Daarna vraagt hij aan zijn publiek: "Est-ce que ce bocal est plein? "Iedereen antwoordde: "Ja". "Bien", antwoordt hij, "nous allons voir. "
C'est alors qu'il sortit un sac contenant des graviers et le versa dans le bocal. Les graviers se faufilèrent entre les cailloux et remplirent le bocal. À nouveau, il pose la question : " Est-ce que le bocal est plein? ". Het publiek, dat begint te begrijpen, antwoordt: "Non. "
Vervolgens pakt hij een zakje marter die hij in de bocal legt. Le sable, à son tour, se faufila entre les cailloux et les graviers jusqu'à remplir le bocal.
Il fit de même avec la bouteille d'eau qui était posée sur sa table et remplit à nouveau le bocal.
" Quel enseignement pouvons-nous tirer de cette expérience? "vraagt hij aan zijn publiek. "Cette expérience montre que si l'on ne met pas les gros cailloux en premier dans le bocal, on ne pourra jamais les mettre tous. Men moet dus beginnen met de grote cailloux alvorens de kleine cailloux aan te vallen. "
(De grote bloemen zijn onze prioriteiten, de gravers, de sabel en het water zijn de belangrijkste taken die we als eerste willen doen. Na een dag vol gravers, sabel en water is het onmogelijk om onze grote cailloux te huren).

Cette expérience ne peut pas marcher pour l'ouverture : on arrive vite à une impasse! Als je begint met het toewijzen van kamers aan duidelijke kamers, kom je snel in een impasse. Je moet Sudoku spelen om tot een haalbare oplossing te komen

Ervaring

J'ai donné à ChatGPT une liste de 70 chambres dans un tableau qui ressemble à ça :

C'est parti :

il beug, un peu, se reprend (la classe tout de même) puis:

Maar hij respecteert de regels niet! Hij geeft 600! Onmogelijk want achter deze informatica calculatie zitten mensen die werken.

Et plus je lui demande d'avancer plus il échoue.

Voor informatie, mijn algoritme voor berekening sorteert veel beter. Als dit iemand interesseert, kan ik meer vertellen in een volgend artikel...:

Il donne bien 400 crédits tout en respectant les contraintes!

Het laatste woord

Bon, l'honneur est sauf et ChatGPT ne sait pas encore faire mieux que l'humain. L'algorithme utilisé par Roomchecking est très "métier" donc il est normal qu'il fasse mieux... mais cela me rassure.

Pour être fair j'ai demandé à ChatGPT et franchement il a le mérite de l'humilité ;=)

Ik heb nog meer ervaringen die ik graag wil delen. Aarzel niet om me te zeggen of je wilt dat ik nog andere dingen test jweizman@roomchecking.com

Misschien bent u ook geïnteresseerd in de volgende artikelen