Études de cas | Simio

Enseigner la simulation au niveau du premier cycle - 4 questions pour 4 instructeurs expérimentés

Rédigé par Simio | 26 mars 2026 19:14:35

Le défi

par Jeffrey S. Smith (Auburn University), Christos Alexopoulos (Georgia Tech), Shane G. Henderson (Cornell University) et Lee Schruben (UC Berkeley)

Présenté lors de la Conférence d'hiver sur la simulation 2017

Cet article et la séance de discussion correspondante se concentrent sur l'enseignement des cours de simulation liés à l'ingénierie industrielle et à la recherche opérationnelle pour les étudiants de premier cycle. Le format rassemble quatre instructeurs expérimentés pour discuter de quatre questions concernant la structure et les thèmes des cours, le matériel d'enseignement imprimé et logiciel utilisé, et les méthodes d'enseignement générales/la philosophie. L'objectif est de fournir des informations pédagogiques basées sur l'expérience aux nouveaux instructeurs et à ceux qui le deviendront bientôt, et de susciter des discussions au sein de la communauté de l'enseignement de la simulation.

1. Introduction

L'idée de cet article et de la table ronde correspondante est de discuter de l'enseignement des cours de simulation liés au génie industriel et à la recherche opérationnelle pour les étudiants de premier cycle. Le mécanisme que nous avons choisi est que quatre instructeurs expérimentés répondent à quatre questions communes sur leurs cours, leur matériel et leurs méthodes/philosophies d'enseignement. Les réponses individuelles sont accompagnées de brèves discussions sur nos expériences individuelles (bonnes et mauvaises) - après tout, l'expérience est le meilleur des enseignants. Bien que cela ne soit pas possible dans le document, nous espérons également que les questions inciteront le public à participer à la session du panel. Le document est organisé de telle sorte que chacune des quatre questions constitue une section principale (sections 2 à 5) et que la "réponse" de chaque participant constitue une sous-section sous la section de la question. Nous terminons par quelques remarques récapitulatives.

La solution

2. Quel est le format de votre cours et quels sont les principaux sujets abordés ?

2.1 Smith

Notre cours (Simulation) est basé sur 2 heures de cours magistraux + 3 heures de laboratoire par semaine sur un semestre de 16 semaines. Au cours des dernières années, nous avons commencé à introduire des segments vidéo pour compléter les cours magistraux et les laboratoires. Les principaux sujets abordés sont les suivants

  • Les bases des réseaux de files d'attente - Les étudiants reçoivent une bonne dose d'analyse des files d'attente à serveur unique dans le cours préalable de recherche opérationnelle stochastique. Nous nous concentrons principalement sur l'analyse des réseaux de Jackson et l'impact de la variabilité en introduisant M/G/1 et en comparant diverses distributions de service avec les résultats de M/M/1. Nous reviendrons plus tard sur ce concept en utilisant des modèles de simulation et nous étendrons à l'analyse de réseaux impliquant des distributions non-markoviennes et des hypothèses de file d'attente plus souples.
  • Simulation de Monte Carlo - Nous couvrons les bases de Monte Carlo et travaillons sur plusieurs modèles d'exemple. Nous introduisons la génération de variables aléatoires d'un point de vue pratique. Nous utilisons un modèle Monte Carlo à sortie unique pour introduire/réintroduire les concepts d'échantillonnage, d'estimation des paramètres et d'erreur d'échantillonnage dans le contexte de la modélisation de simulation. Nous utilisons le graphique MORE de Barry Nelson (Nelson, 2008) pour discuter des bases de l'erreur par rapport au risque.
  • Simulation d'événements discrets - Nous couvrons les concepts fondamentaux d'événements, d'états de système, de calendriers d'événements et de génération/analyse de trajectoires d'échantillonnage. Les étudiants ont un exercice de laboratoire où ils génèrent et analysent manuellement un échantillon de chemin pour un système de file d'attente simple.
  • Simulation orientée processus et Simio - Nous discutons du point de vue orienté processus et de son implémentation dans Simio.
  • Analyse des entrées - Nous avons une couverture de base des entrées univariées, de l'ajustement de la distribution et de l'estimation des paramètres, et de l'évaluation de l'ajustement.
  • Analyse des résultats et expérimentation - Nous nous concentrons sur l'évaluation et le contrôle de l'erreur d'échantillonnage, le classement et la sélection de base, et les stratégies et pratiques d'expérimentation. Enfin, nous présentons l'optimisation basée sur la simulation à l'aide du module complémentaire OptQuest.

2.2 Alexopoulos

Tous les cours de simulation à Georgia Tech (au niveau de la licence et de la maîtrise) sont basés uniquement sur des cours magistraux. Au cours des trois dernières années, le cours de maîtrise a été proposé conjointement avec un cours avancé de premier cycle. Jusqu'au milieu des années 1990, le cours de licence consistait en deux heures de cours magistraux et un seul laboratoire de trois heures par semaine. Cette approche fonctionnait mieux que l'approche actuelle de trois heures d'enseignement par semaine, mais le professeur était également responsable de l'enseignement du laboratoire sans obtenir de crédit supplémentaire. Ce changement est intervenu lors du passage du système trimestriel au système semestriel.

Les cours de licence et de master couvrent tous les sujets théoriques des textes classiques de Banks et al. (2009) et Law (2015), à l'exception des plans d'expérience et des techniques de réduction de la variance. Le squelette des deux cours se compose des éléments de la liste de Jeff ci-dessus, mais la couverture de chaque sujet dépend de la classe. À ce stade, je souhaite souligner que je consacre 60 à 90 minutes à l'enseignement de l'analyse des données d'entrée avec une introduction à l'estimation de la densité du noyau (KDE) pour les ensembles de données indépendantes. Ce sujet est devenu plus important avec l'émergence des "big data" avec des modes multiples. L'ajustement des KDE peut être traité très facilement grâce à une pléthore de fonctions dans Matlab, Python et R, tandis que l'échantillonnage à partir des densités ajustées peut également être effectué efficacement, par exemple, via les algorithmes de la section 3 de Hörmann et Leydold (2000). Les méthodes de classement et de sélection sont abordées à l'aide d'un petit ensemble de diapositives et des "compléments" Arena et Simio de Kim et Nelson, tandis que l'optimisation basée sur la simulation est abordée "à la volée" à l'aide du complément OptQuest. Le cours de premier cycle couvre un large éventail de sujets de modélisation, y compris la simulation de systèmes de véhicules et de convoyeurs. L'accent mis sur la modélisation est très important en raison de la rigueur de notre classe de conception senior, où les projets impliquent souvent une combinaison de modélisation et d'analyse de simulation lourdes.

2.3 Henderson

Le cours ORIE 4580 Simulation Modeling and Analysis de l'université Cornell est une introduction à la simulation Monte Carlo et à la simulation d'événements discrets, avec comme prérequis un niveau de probabilité/statistique de deuxième année et un deuxième cours de programmation. La classe est nombreuse, puisqu'elle compte environ 200 étudiants, dont 110 sont des étudiants de premier cycle et 90 des étudiants en master. Ce cours semestriel comprend deux conférences de 75 minutes et une récitation de 2 heures (laboratoire) chaque semaine. Cinq des cours, qui portent sur l'apprentissage de l'utilisation d'un logiciel de simulation d'événements discrets, sont "inversés". Le cours peut être considéré comme un cours en deux parties, la première partie couvrant les éléments essentiels de la simulation de Monte Carlo et la seconde partie continuant avec la simulation d'événements discrets. La première moitié commence par un examen des concepts de probabilité, passe par l'analyse des résultats pour les simulations de fin, la génération de nombres aléatoires, la génération de variables aléatoires, la génération de processus stochastiques, l'analyse des entrées et se termine par un aperçu de la réduction de la variance (antithétique). La seconde moitié commence par un examen de la théorie des files d'attente et se poursuit par une simulation manuelle, une modélisation avec un logiciel de simulation (où les cours sont inversés), consacre un peu de temps à la comparaison de systèmes alternatifs et se termine par une discussion sur la vérification, la validation, l'accréditation et la gestion de projet.

2.4 Schruben

Les cours de simulation de premier cycle que j'ai enseignés à Cornell et à Berkeley avaient le même format : deux ou trois cours magistraux hebdomadaires et un laboratoire/récitation avec des exercices, deux examens et un travail de fin d'études. Les deux écoles proposent des cours semestriels. Je n'ai enseigné qu'une seule fois un cours trimestriel (en Floride) et cela ne s'est pas bien passé. Mon objectif principal est de pousser mes étudiants à reconnaître et à poser des questions bien formulées et à identifier les hypothèses qui sous-tendent les réponses. Ils apprennent également à évaluer si chaque hypothèse tend à être optimiste ou pessimiste, et à essayer de découvrir, par le biais d'une analyse de sensibilité, dans quelle mesure elle est importante.
Structurellement, mes cours ont été un mélange d'art, de science et de technologie :

  • Art : pendant environ la moitié de mon cours de licence, nous explorons différentes façons de modéliser la dynamique. Je pense qu'il est important que mes étudiants soient capables de voir comment les systèmes évoluent dans le temps à partir de différents points de vue. À un niveau élevé, ils définissent un système du point de vue des entités résidentes (les ressources ou les serveurs, comme la porte d'embarquement d'un aéroport) et du point de vue des entités transitoires (comme les passagers de l'aéroport). Ces deux points de vue sont naturels pour de nombreux systèmes d'ingénierie industrielle, tels que les réseaux de file d'attente ou les chaînes d'approvisionnement. Il s'agit de deux perspectives mathématiques (la loi de Little établit un lien entre les moyennes temporelles de ce que les serveurs voient (leurs files d'attente) et les moyennes de comptage de ce qui importe à chaque client (leurs temps d'attente)). Les étudiants apprennent à modéliser de très grands systèmes à l'aide de simulations très petites et très rapides du point de vue de l'entité résidente. Dans cette partie du cours consacrée à l'"art" de la modélisation, nous utilisons trois types de graphiques différents et beaucoup d'images (disponibles sur demande). Pour les simulations d'événements discrets, nous considérons d'abord les systèmes comme des relations d'événements fondamentaux à l'aide de graphes d'événements (Schruben 1983), puis comme des interactions d'activités entre résidents et entités à l'aide de réseaux de Petri stochastiques (Haas 2002), et enfin comme des processus de flux d'entités transitoires à l'aide de diagrammes de flux d'entités utilisant les 7 blocs de base de GPSS (Générer, Terminer, Mettre en file d'attente, Partir, Avancer, Saisir la libération et Tester) ; j'aime les formes de GPSS, elles donnent aux étudiants un renforcement visuel (et leur font apprécier les logiciels modernes lorsqu'ils les voient par la suite). L'utilisation de ces trois outils graphiques permet d'obtenir des modèles différents pour le même système, chacun ayant des forces et des faiblesses différentes. Dans l'enseignement de l'art de la modélisation, les images sont beaucoup plus importantes que les logiciels pour voir les systèmes sous différentes perspectives et visions du monde. Aucun paradigme n'est idéal pour tous les problèmes auxquels ils seront confrontés dans leur carrière.
  • Science : c'est ici que nous étudions la modélisation du hasard (modélisation des entrées) et l'analyse des données simulées (analyse des sorties). Le matériel habituel sur les nombres pseudo-aléatoires, la génération de variables aléatoires et les processus sont couverts en mettant l'accent sur la modélisation de la dépendance et de la non-stationnarité. Nous abordons ensuite les moyens en lots, l'initialisation et le contrôle de l'exécution, les techniques de réduction de la variance et les plans d'expérience, en mettant l'accent sur l'optimisation de la réponse de la simulation et la sensibilité. L'une des excursions les plus populaires est celle où je leur montre comment appliquer l'inversion du cdf pour optimiser le problème du vendeur de journaux en ne connaissant que les formules pour les aires d'un triangle et d'un rectangle (demandez-le-moi un jour autour d'une bière). Pour agrémenter le tout, David Goldsman m'a envoyé une fois un programme VBA qui était exceptionnellement bien fait et divertissant. Sam Savage m'a envoyé un programme Excel avec des variables marginales indépendantes dont le diagramme de dispersion est un visage heureux. J'ai essayé des jeux et des concours pour rendre les choses moins ennuyeuses ; rien ne marche, sauf quand je lance ma pièce à deux têtes pour montrer que 3 lancers d'une pièce n'est pas la même chose que 3 lancers d'une pièce (c'est une leçon beaucoup plus profonde qu'il n'y paraît).
  • La technologie : Tout comme j'enseigne à mes étudiants trois visions du monde de la modélisation graphique, je leur présente trois logiciels. Pour la modélisation d'événements (j'ai utilisé Sigma, mais je suis en train de passer à Tao - que j'espère présenter lors de cette conférence). Je leur permets de construire des simulations de modèles d'activité à très grande échelle avec RTMS de Bio-G.com (avec une clause de non-responsabilité, je suis co-fondateur). Ils voient comment simuler des modèles de flux d'entités transitoires en utilisant Simio, Automod, GPSS, Siman, Slam, Flexsim, Arena, et/ou Promodel. J'ai été satisfait dernièrement de Simio, principalement parce qu'il ne nécessite aucun travail de ma part et peu de temps en classe. Je dirige simplement mon assistant technique vers les ressources en ligne de Jeff Smith(http://jsmith.co/node/26). Une fois que mes étudiants ont appris à modéliser avec des graphes d'événements, il est facile de penser que ces graphes sont composés de cycles d'activité d'entités résidentes ou de flux de processus - environ ½ heure chacun avec des exemples. La raison pour laquelle j'enseigne à mes étudiants trois visions du monde avec au moins trois implémentations logicielles est que, comme pour tout dans la vie, si l'on ne connaît que deux "choses" sur quelque chose (politique, religion, simulation), on ne peut voir que les différences ; il faut connaître au moins trois choses pour voir les similitudes (et plus d'une chose pour voir n'importe quoi). Pour les nouveaux enseignants : plus je mets d'art dans mon cours, plus mes évaluations d'enseignement sont élevées. Je ne sais pas si les étudiants aiment tellement l'art ou s'ils n'aiment pas la science (ennuyeuse ?) ou la technologie (frustrante ?). Les évaluations médianes de mes cours ont varié d'une égalité à quatre pour la troisième pire évaluation de notre département à une évaluation parfaite dans toutes les catégories.

3. Quels livres, documents et autres matériels d'apprentissage utilisez-vous et en êtes-vous satisfait ?

3.1 Smith

J'utilise notre manuel (Smith et al., 2017) comme texte principal pour nos cours de simulation de premier cycle et d'introduction aux études supérieures. En outre, j'utilise également une quantité importante de matériel supplémentaire provenant de Law (2015), Banks et al. (2009) et plusieurs articles de la CSM et des ressources connexes que j'ai recueillies au cours de ma carrière d'enseignant. Au cours des cinq dernières années, j'ai commencé à utiliser un grand nombre de modules vidéo pour compléter nos cours magistraux et nos séances de laboratoire. Ces modules semblent avoir eu un impact significatif, d'autant plus que la taille de nos classes de premier cycle est passée à 90-110 étudiants. Avec un tel nombre d'étudiants, j'ai constaté qu'il n'était pas efficace d'effectuer une modélisation significative lors d'un cours magistral. J'ai constaté le même manque d'efficacité, que nous modélisions avec Simio, Arena, Excel/@Risk, Python ou Matlab (les langages de programmation que nos étudiants apprennent) - je suis donc convaincu que ce phénomène n'est pas spécifique à un langage/outil.

En réponse, mon objectif a été de déplacer une grande partie des aspects "mécaniques" de la modélisation vers les modules vidéo. Cela permet aux étudiants de consommer (et, je l'espère, d'apprendre) le matériel à leur propre rythme. Idéalement, cela libère du temps de cours pour se concentrer sur les concepts, la philosophie et une discussion plus générale sur les sujets. Mon expérience limitée montre que cette stratégie fonctionne très bien si les étudiants utilisent les modules vidéo avant l'heure de l'examen ou du devoir.

Je suis généralement satisfait du contenu du matériel disponible, mais il serait bon d'avoir un seul livre couvrant ce matériel. En tant qu'enseignant, je cherche un livre unique qui couvre suffisamment les aspects théoriques et le contenu pratique/outil que j'utilise. En tant que co-auteur d'un manuel, je pensais que ce serait facile à créer, mais je me suis totalement trompé - c'est pourquoi j'utilise toujours un mélange de matériaux.

3.2 Alexopoulos

Nous avons utilisé le texte susmentionné de Banks et al. (2009) pendant plus de 30 ans, mais le livre a vieilli et aucune révision n'est en vue. Il existe des textes qui combinent une couverture de base des concepts théoriques avec des langages/paquets, comme Arena et Simio, mais à mon humble avis, ces textes ne couvrent pas suffisamment les sujets théoriques. Actuellement, dans le cours de premier cycle, j'utilise le texte de Smith et al. (2017) et une pléthore de présentations de diapositives disponibles sur un portail de Georgia Tech. Le cours de master est basé sur le texte de Law (2015) et le texte de Simio ci-dessus. Ces dernières années, j'ai également beaucoup utilisé le cahier d'exercices de Joines et Roberts (2015).

Un problème lié aux textes utilisant Simio comme outil de modélisation était les mises à jour fréquentes du logiciel avec des définitions d'objets et des propriétés améliorées. Je dois souligner que cette fréquence a diminué au cours de l'année écoulée, Simio ayant considérablement évolué. Malgré ces changements, les deux textes basés sur Simio sont extrêmement utiles et offrent une couverture adéquate des principaux concepts de modélisation et des composants logiciels. La disponibilité des vidéos d'instruction de Jeff Smith est d'une grande aide. Dans le passé, ma vie d'instructeur était plus stable car j'enseignais GPSS, Arena et AutoMod, qui étaient tous très matures.

3.3 Henderson

J'utilise principalement un kit de cours que j'ai écrit, avec un peu de matériel adapté à partir de notes partagées par divers sommités, en particulier Peter Glynn et Barry Nelson. Je recommande également la lecture de l'ouvrage de Law "Simulation Modeling and Analysis", qui n'est pas obligatoire, et je mets à disposition à la bibliothèque de nombreux autres ouvrages standard, qui, soit dit en passant, sont rarement utilisés. J'utilise également un ensemble de laboratoires qui ont été développés au fil du temps. Il s'agit d'un mélange de problèmes écrits en classe et de problèmes informatiques.

Les étudiants sont censés entrer dans ce cours après avoir suivi des cours de probabilités et de statistiques de deuxième année et un deuxième cours de programmation. Pour les étudiants qui suivent ce cours en tant qu'étudiants de premier cycle en recherche opérationnelle à Cornell, cette formation est assez récente. Pour les autres étudiants, y compris les étudiants en master d'ingénierie titulaires d'un diplôme de premier cycle d'une autre université, cette formation est présente à des degrés divers. Ceux qui ont une formation plus faible en probabilités/statistiques éprouvent des difficultés au cours du premier mois du cours. Il serait extrêmement utile de disposer d'un ensemble de, disons, 100 questions à choix multiples auxquelles les étudiants pourraient répondre pour auto-évaluer leur préparation au cours et, pour ceux qui n'ont pas cette formation, d'un tutoriel sous une forme ou une autre pour les aider à acquérir la formation requise. Ce tutoriel serait étroitement lié aux manuels de probabilité et de statistique de premier cycle, même s'il serait probablement assez sélectif. À l'heure actuelle, je me contente d'orienter les étudiants vers un livre et de leur suggérer une série de chapitres à assimiler. Cette solution ne semble pas idéale.

3.4 Schruben

Le manuel de Choi et Kang (2013) a été une aubaine pour mon cours de premier cycle. Je ne couvre que la première section, car ce livre est détaillé et dense, mais il est très clairement écrit à un niveau mathématique facile. Je peux assigner des lectures et des exercices à partir de ce livre sans enseigner "à partir de lui". Avec ce texte, c'est comme si mes étudiants avaient déjà suivi un cours de simulation. Leurs questions et leurs discussions se situent à un niveau qualitativement plus profond. Je fais également référence à des sections du texte classique de Law (Law, 2015), que j'utilise dans mon cours de troisième cycle. Là encore, je n'ai pas besoin de faire des cours à partir du texte de Law, et je peux enseigner comme si mes étudiants avaient déjà suivi un cours de simulation en tant que prérequis. Je n'ai jamais "suivi" un manuel, mais avec un bon manuel, je peux presque faire tenir deux cours en un seul.

4. Quels outils logiciels et langages de programmation utilisez-vous ?

4.1 Smith

J'utilise Simio pour la partie du cours consacrée à la simulation d'événements discrets et Excel, Python et Matlab pour la partie consacrée à Monte Carlo. Nos étudiants de premier cycle suivent des cours de programmation basés sur Matlab et Python avant de commencer la simulation. Nous enseignons le cours Python dans le département ISE et couvrons en fait les aspects programmatiques de Monte Carlo dans ce cours - ce qui nous permet d'être opérationnels lorsqu'ils arrivent à la simulation. Cet automne, je prévois d'incorporer @Risk dans les cours de Monte Carlo et d'analyse d'entrée.

Il y a plusieurs années, nous avons également fait de la simulation orientée événement en utilisant C et/ou Java sur la base de l'exposé de Law (2015), mais j'ai abandonné cet exercice au fur et à mesure que la taille des classes augmentait. Je continue à penser que c'était un excellent outil d'apprentissage et qu'il a permis aux étudiants de mieux comprendre le mécanisme de simulation d'événements discrets, mais il y avait tout simplement trop de frais généraux pour faire les parties de programmation avec des classes nombreuses.

4.2 Alexopoulos

J'utilise Simio depuis plus de 6 ans. J'ai également utilisé ExpertFit d'Averill Law and Associates pour l'analyse des données d'entrée au cours des 20 dernières années. Nous exigeons la connaissance d'un langage de script, tel que Matlab ou Python. Bien que mes étudiants suivent des cours obligatoires pour ces langages, je découvre souvent que leur formation est inadéquate.

Au cours des deux dernières années, j'ai également adopté les outils The SIPmath Modeler Tools for Excel de www.probabilitymanagement.org pour enseigner les questions d'estimation liées au risque et à l'erreur dans les expériences de simulation. J'utilise ces outils au début de tous les cours de simulation et je les ai trouvés très utiles pour les expériences de simulation Monte Carlo basées sur des feuilles de calcul. Bien que ce sujet fondamental soit abordé dans Simio avec le graphique (S)MORE proposé par Barry Nelson, l'empreinte globale d'Excel et la possibilité de mener des expériences et d'observer l'impact du hasard sur les estimations du risque et de l'erreur rendent cet outil inestimable. Pour les systèmes qui peuvent être modélisés à l'aide de feuilles de calcul, ces outils sont également utiles pour enseigner l'estimation des moyennes et des quantiles à l'état stable sur la base de réplications indépendantes.

4.3 Henderson

Comme indiqué plus haut, les étudiants sont censés avoir suivi un deuxième cours de programmation. Une telle formation est plus que nécessaire, car la programmation est limitée à de très petits problèmes à la maison qui peuvent généralement être résolus en quelques lignes. L'une des raisons pour lesquelles nous exigeons un deuxième cours de programmation est simplement de pouvoir compter sur un mode de pensée algorithmique qui est essentiellement un deuxième pilier pour soutenir l'apprentissage et la compréhension de la simulation.

Les étudiants apprennent les bases de Monte Carlo (logique du modèle, réplications multiples, intervalles de confiance) par le biais d'une modélisation "brute" sur tableur, en plaçant une seule réplication dans une seule ligne et en "remplissant" pour obtenir des réplications multiples. Ce n'est qu'une fois ces notions maîtrisées que nous passons à l'utilisation du module d'extension @Risk. Dans les devoirs, je peux demander une tâche de programmation simple, telle que le codage de l'algorithme d'amincissement pour générer des processus de Poisson non homogènes sur la ligne. Dans la seconde moitié du cours sur la simulation d'événements discrets, nous utilisons Simio. Le cours comprend 5 conférences au cours desquelles nous apprenons les bases de la modélisation Simio. Ces cours sont inversés et se déroulent dans un laboratoire informatique plutôt que dans un amphithéâtre. Pour chaque cours, je demande aux étudiants de venir en classe après avoir regardé un module de l'excellente série de modules de Jeff Smith, et je leur donne ensuite un exercice de modélisation sur lequel travailler. Pendant cette période, nous poursuivons également les récitations (laboratoires), de sorte que les étudiants reçoivent essentiellement une "double dose" de laboratoires, au lieu du format habituel cours magistral plus laboratoire.

4.4 Schruben

Comme je l'ai déjà mentionné, je montre à mes étudiants trois outils selon trois visions du monde différentes afin qu'ils puissent voir les similitudes, et pas seulement les différences. Le logiciel que j'utilise a changé au fil des ans. Je commence toujours par Sigma, qui est minimaliste, robuste et stable (j'ai commencé à le développer il y a 30 ans). Il est conçu pour enseigner les principes fondamentaux des trois visions du monde, et les étudiants peuvent tout apprendre sur les graphiques d'événements en moins de 30 secondes, ce qu'ils apprécient. Je suis très fier de RTMS pour les modèles d'activité-interaction très vastes et complexes (j'ai cofondé Bio-G il y a dix ans, mais je n'ai pas participé au développement). Au fil des ans, j'ai évolué parmi les nombreux langages commerciaux de flux d'entités transitoires, mais ces derniers temps, j'ai été heureux d'utiliser Simio. Cependant, je recommande de changer périodiquement de langage pour rester à jour - ou chaque fois qu'une innovation radicale est annoncée par le CSM (ce qui est rarement vrai). Ces langages sont tous très similaires pour l'enseignement, et les détails avancés sont des connaissances périssables - ils changeront avant que les étudiants ne soient en mesure de les utiliser professionnellement. Je recommande à chacun de suivre les cours de courte durée des fournisseurs avant d'utiliser un logiciel commercial dans le cadre de son travail, même si je viens de finir de l'enseigner.

5. Discutez de votre philosophie, de votre stratégie et de vos méthodes d'enseignement de base.

5.1 Smith

La simulation requiert des compétences dans les domaines généraux (1) des probabilités et des statistiques, (2) de la programmation et (3) de la modélisation. Au début de ma carrière d'enseignant, j'ai supposé que les étudiants acquéraient les connaissances requises dans chacun de ces domaines grâce aux cours préalables (deux semestres de probabilités et de statistiques, deux semestres de programmation, deux semestres de RO, pour nos étudiants) et que je me contenterais de relier ces éléments sous l'égide de la simulation. Ce qui m'est apparu au cours des premières années (il est regrettable que cela m'ait pris autant de temps !), c'est que les étudiants avaient besoin d'un renforcement/révision significatif du "matériel prérequis" avant de pouvoir appliquer de manière productive ces sujets/outils généraux à la simulation. En conséquence, mes cours couvrent aujourd'hui environ 1/3 de moins de "nouveau" matériel lié à la simulation qu'au début de ma carrière. Du point de vue de la philosophie d'enseignement, cela signifie simplement que je consacre beaucoup de temps et d'efforts à l'intégration des trois compétences de base, ce qui nécessite souvent de revenir sur le matériel de base que les étudiants ont déjà vu dans les cours préalables afin que nous puissions les considérer comme un "tout" intégré sous la forme de la simulation.

Comme mentionné précédemment, je n'ai pas trouvé particulièrement efficace de guider les étudiants à travers des exercices de modélisation/programmation de façon à ce qu'ils suivent le cours dans un laboratoire d'informatique. Les compétences et le niveau d'aisance des étudiants en matière d'applications informatiques et de programmation varient considérablement (et souvent sans rapport avec leur moyenne). Par conséquent, quel que soit le rythme que j'adopte, 1/3 à 1/2 de la classe s'ennuiera ou sera perdue dans cet environnement. Au lieu de cela, j'ai trouvé plus efficace de combiner des conférences ciblées avec des modules vidéo sur les mêmes sujets. À titre d'exemple, j'utilise cette méthode pour les trois sujets suivants, qui n'ont pas grand-chose à voir l'un avec l'autre :

  1. Utilisation d'un module Python (que je fournis) pour "résoudre" les réseaux de Jackson ;
  2. Développement et application d'un intervalle de confiance standard ; et
  3. Développement d'un modèle Simio d'un système de file d'attente en tandem.

Pour chacun de ces cours, je présente le matériel dans un cours magistral et je dis aux étudiants : "Posez vos crayons, fermez vos ordinateurs portables et regardez - il y a un module vidéo de moi faisant exactement le même développement que vous pouvez voir et revoir à votre propre rythme plus tard". L'idée est qu'ils puissent se concentrer d'abord sur les concepts et la vue d'ensemble, en sachant qu'ils ne perdront pas l'accès aux détails dont ils auront besoin pour les examens et/ou les devoirs. J'ai actuellement 8 à 10 combinaisons similaires de cours magistraux et de vidéos que j'utilise tout au long du semestre (en plus de plusieurs travaux pratiques basés sur des vidéos). Bien que je n'aie pas réalisé d'expérience contrôlée, des preuves anecdotiques suggèrent que mes étudiants obtiennent de bien meilleurs résultats lorsque j'utilise cette méthode que lorsqu'ils essaient de prendre des notes détaillées et/ou de me suivre sur l'ordinateur. Je continue à développer ces modules et tous sont disponibles gratuitement à l'adressehttp://jsmith.co/node/26(notez que j'ai été surpris et que je suis toujours un peu gêné que certains de ces modules soient mentionnés de manière proéminente par mes collègues panélistes dans cet article - ce n'était certainement pas mon intention lorsque j'ai initié le panel !)

Enfin, j'ai constaté que les projets semestriels sont très importants et peuvent définitivement cristalliser tous les sujets liés à la simulation que les étudiants apprennent au cours du semestre. J'ai essayé plusieurs approches, depuis les concours annuels Arena et Simio, jusqu'à l'utilisation d'études de cas développées dans le cadre de projets de conseil, en passant par le fait de laisser les étudiants choisir leurs propres sujets de projet, et toutes se sont avérées utiles (bien que les étudiants trouvent souvent le choix de leurs propres projets plus difficile qu'ils ne l'avaient prévu). Avec l'augmentation de la taille de nos classes, j'ai abandonné les "présentations finales" en direct au profit de présentations vidéo téléchargées sur YouTube. Bien que cette expérience soit différente de celle que les étudiants ont lorsqu'ils présentent leur travail devant un public, y compris leurs pairs, je n'ai pas trouvé de moyen pratique d'organiser des présentations en classe lorsqu'il y a plus de 10 à 15 groupes de projet dans une classe donnée.

5.2 Alexopoulos

Pour expliquer ma philosophie, je dois parler de mes antécédents et de ma formation en simulation. J'ai suivi un cours de George Fishman en 1984. Le cours demandait de construire des modèles à événements discrets en utilisant Simscript II.5, et le seul modèle que nous avons construit était le fameux modèle du port africain qui figure toujours dans le texte de Law (2015). Nous avons construit deux variantes, la première était basée sur le mécanisme d'ordonnancement des événements et la seconde utilisait le paradigme d'interaction des processus. Pour comprendre les différences, nous avons dû calculer les temps de compilation et de liaison sur l'ordinateur central. Le fait que nous utilisions le même langage nous a permis d'apprécier les différences fondamentales entre les deux paradigmes de modélisation. Nous avons analysé les résultats de la simulation à l'aide de sous-programmes tirés du texte de Fishman (1978) : le premier utilisait l'approche régénérative, tandis que le second utilisait un algorithme de moyennes par lots. George a noté les rapports manuscrits avec beaucoup d'attention et a retiré des points si la liste des résultats et des recommandations n'était pas classée par ordre de priorité (bien sûr, il pouvait le faire car la classe n'était composée que de 12 étudiants). George a insisté sur le fait qu'il préférait une longue série à de multiples réplications courtes pour estimer les moyennes et les quantiles à l'état stable. Dans l'ensemble, son enseignement et ses conseils académiques ont façonné ma philosophie.

Lorsque je suis arrivé à Georgia Tech, j'ai découvert que Jerry Banks, Dave Goldsman et Jim Swain utilisaient GPSS/PC pour l'enseignement de premier cycle et le progiciel Simlib du texte de Law et Kelton (1982) pour l'enseignement de deuxième cycle. Je me souviens avoir étudié le "livre rouge" de Thom Schriber (1974) et que GPSS/PC permettait une "animation" en mettant en évidence les blocs GPSS actifs - cela pouvait être fait en utilisant des PC portables et des projecteurs à trois faisceaux, mais je peux affirmer qu'une telle animation superficielle permettait aux étudiants d'apprécier le mouvement de l'entité. D'autre part, le progiciel Simlib était basé sur le mécanisme de planification des événements et était écrit en Fortran (en fait, l'un de mes étudiants a réécrit le progiciel en C avant que le code C n'apparaisse dans la troisième édition du texte). Nous sommes passés à GPSS/H au début des années 1990 (sans utiliser Proof Animation) jusqu'à la fin des années 1990, lorsque nous avons adopté Arena. J'ai utilisé Arena dans mes cours de licence et de maîtrise jusqu'en 2008 environ, date à laquelle je suis passé à AutoMod pendant environ deux ans. J'ai trouvé AutoMod très attrayant en raison du langage de simulation intégré, de son excellente interface graphique, de sa capacité à modéliser des systèmes d'entreposage avec un niveau de détail approprié, et de l'existence d'un texte d'introduction de Jerry Banks, qui est toujours inclus dans l'installation. En janvier 2011, j'ai opté pour Simio et je lui suis resté "fidèle" jusqu'à aujourd'hui.

Ma combinaison pédagogique entre modélisation et théorie est restée assez stable tout au long de ma carrière, avec deux changements au cours des trois dernières années : (a) L'utilisation précoce de feuilles de calcul pour illustrer les concepts d'erreur et de risque. J'ai téléchargé sur mon site portail l'article de Barry Nelson tiré des comptes rendus 2008 de la CSM, et je teste régulièrement les étudiants sur leur capacité à interpréter les histogrammes, les fonctions de distribution empirique et les intervalles de confiance pour les moyennes et les quantiles. (b) Une plus grande importance accordée à l'analyse des données d'entrée et à l'ajustement de la distribution, ainsi qu'aux effets d'un "mauvais ajustement" sur la qualité des résultats de la simulation. Je trouve que l'équilibre parfait entre la modélisation et l'analyse de la simulation est un véritable défi ! La capacité à mener une analyse statistique solide des données de simulation est un outil puissant pour les analystes en recherche opérationnelle et les ingénieurs industriels ; à mon humble avis, c'est ce qui les sépare des informaticiens qui peuvent fournir d'excellents codes/modèles, mais dont les capacités statistiques sont plutôt limitées.

Pour moi, enseigner les logiciels sans séance de laboratoire est un grand défi. Pour surmonter les contraintes de temps en une seule séance de cours, je télécharge généralement un modèle intermédiaire sur le portail de la classe, je demande aux étudiants d'étudier la partie pertinente du texte (et probablement avant), puis je construis le reste du modèle complet en classe. Le défi susmentionné est en partie dû au fait que les étudiants possèdent souvent des ordinateurs portables Apple ; cela nécessite généralement de se connecter à un bureau virtuel et d'utiliser un clavier Apple. Je comprends que cela n'équivaut pas à un enseignement en laboratoire, mais c'est le mieux que je puisse faire compte tenu de la taille importante de nos classes, qui comptent entre 40 et 80 élèves par section.

Je voudrais terminer en évoquant l'habitude récente des étudiants de n'étudier que du matériel électronique. Je leur demande instamment d'acheter des copies papier des textes - la plupart d'entre eux non seulement ignorent mon conseil, mais ne sauvegardent même pas les fichiers électroniques localement. Je suppose que les choses ne vont pas s'améliorer dans un avenir prévisible et que nous devons tous nous adapter.

5.3 Henderson

Ces réflexions sont peut-être mieux présentées sous forme de puces :

  • Les étudiants doivent avoir une bonne compréhension des probabilités et des statistiques pour être des utilisateurs efficaces de la simulation. Idéalement (de mon point de vue), ils devraient apprendre à la fois la simulation et les probabilités/statistiques, mais la conception du programme d'études à Cornell ne le permet pas. Mon cours met fortement l'accent sur ces aspects.
  • Ne construisez pas de modèles pendant les cours. Il est très difficile pour les étudiants de voir ce qui se passe dans la modélisation, et beaucoup des étudiants les plus forts perdent rapidement leur intérêt. C'est à cela que servent les laboratoires. J'avais l'habitude de construire des modèles dans les cours magistraux, j'ai vite compris que ce n'était pas la meilleure façon de procéder, mais une série de facteurs, dont l'inertie, ont fait que je n'ai pas revu cette partie du cours pendant un certain temps.
  • Pour chaque nouveau concept, l'intuition vient en premier, et les mathématiques (ou toute autre connaissance nécessaire) en second. Par exemple, générer une variable aléatoire avec une fonction de distribution F par inversion est une notion très intuitive qui implique d'étirer ou de compacter une variable aléatoire uniforme.
  • Essayez de réduire la charge de travail vers la fin du cours - considérez cela comme "antithétique" par rapport à l'approche adoptée dans d'autres cours ! À cette fin, nous discutons de la VV&A et de la gestion de projet lors du dernier ou des deux derniers cours, et il n'y a pas de devoir sur ce sujet. J'ai obtenu les diapositives de Deb Sadowski d'un tutoriel sur la gestion de projet de la Winter Simulation Conference, et je les utilise mot pour mot, avec mes propres commentaires. De plus, le fait d'aborder cette matière après que les étudiants aient participé à un projet d'équipe non trivial fait passer leur réaction de "c'est évident" à "j'aurais aimé qu'on fasse des comptes-rendus lors des réunions".
  • Le cours comprend un projet en équipe qui nécessite la construction d'un modèle, l'analyse de données et la rédaction d'un rapport. La notation des rapports est un cauchemar, mais je pense que l'effort en vaut la peine. Les anciens étudiants me rappellent souvent des projets que nous avons réalisés dans le passé et qui les ont touchés (ou horrifiés). Je n'ai jamais trouvé le moyen d'éviter que la date de remise du projet corresponde essentiellement à la fin du semestre (voir le point précédent sur la charge de travail). Des idées ?

5.4 Schruben

J'avais l'habitude d'enseigner qu'un "modèle" était un nom, un outil que l'on construit et que l'on utilise pour l'analyse. Ayant principalement appris par la pratique dans mon travail de consultant, j'enseigne maintenant "modéliser" comme un verbe, un verbe actif avec un objet direct. Nous modélisons tous les aspects de notre vie pour structurer notre pensée et communiquer des idées. Par conséquent, le plan de mon cours n'est plus linéaire, suivant les "étapes d'une étude de simulation" du manuel. Désormais, mon plan de cours, comme mon travail professionnel, est composé de cycles qui interagissent simultanément, comme l'illustre la figure 1 (notez qu'il y a un "début" mais pas de "fin"). Je trouve que cela fonctionne bien dans le domaine du conseil. C'est une joie de voir mes étudiants passer du stade de simples penseurs linéaires à celui d'artistes créatifs.

5.4.1 Les bonnes idées
  • Produits à terme : Au cours des dix dernières années, j'ai demandé à des équipes d'étudiants de construire un produit de simulation. Le fait de remplacer les deux lettres du milieu de l'expression "projets" par "produits" a fait une énorme différence. Je le recommande vivement. Leurs produits sont de leur propre création et sont conçus pour résoudre une catégorie générique de problèmes avec un marché identifiable. Les présentations finales de leurs produits sont des vidéos YouTube qui comprennent une justification du produit, une démonstration, une analyse du marché et un argumentaire de vente. Recherchez (YouTube : Berkeley Simulation IEOR131) pour quelques exemples. Les étudiants ont utilisé ces vidéos sur leur CV et les ont créditées pour décrocher un emploi ; quelques-unes leur ont même rapporté de l'argent. La première leçon que j'ai tirée du remplacement des rapports sur les produits par des vidéos est de limiter la durée à 5 minutes ! Les vidéos sont également accompagnées d'un manuel d'utilisation. Une erreur que j'ai commise il y a quatre ans a été de faire concourir des équipes pour la conception d'un même produit de simulation. La compétition a été féroce et certaines d'entre elles ne se parlent toujours pas entre elles - ni à moi puisque c'est moi qui ai choisi les gagnants.
  • Placement avancé : La présence aux cours n'étant pas obligatoire à Berkeley, j'ai mis au point une astuce qui garantit une forte participation. Je donne en classe de courtes questions d'"Advanced Placement" (AP) sans préavis. Les notes obtenues par les étudiants à ces questions sont ajoutées à leur note d'examen suivante, selon une courbe distincte, et ils obtiennent leur meilleure note d'examen. Étant donné que l'AP ne peut pas diminuer leur note, l'assiduité reste facultative. L'assiduité à mes cours est presque parfaite (les étudiants m'envoient même des excuses par courriel lorsqu'ils manquent un cours !) Certains étudiants me demandent même plus d'AP si je n'en propose pas pendant plusieurs cours. Conseil : si vous essayez de le faire, n'appelez pas cela des "pop quizz". Les étudiants n'aiment pas les quiz, mais ils adorent l'AP (après avoir changé de nom, mes évaluations d'enseignement ont considérablement augmenté).
  • Créer son propre logiciel de simulation : C'est une bonne idée que je ne recommande pas nécessairement. Elle crée une appréciation profonde des logiciels commerciaux, et vous pouvez gagner de l'argent si vous pouvez faire quelque chose de valeur que personne d'autre ne peut faire (comme construire des moteurs de simulation dans DOS, ou Windows 16 bits, ou dans un navigateur Internet !) Cependant, comme Alan Pritsker et Dennis Pegden me l'ont dit, on ne peut pas à la fois diriger une entreprise de logiciels prospère et être un professeur d'université prospère, j'ai choisi cette dernière option, mais j'aime toujours le développement de logiciels de bas niveau.
5.4.2 Mauvaises idées (elles semblaient bonnes à l'époque) :
  • L'examen à un million de points : j'en ai eu assez des étudiants qui suppliaient qu'on leur accorde un crédit partiel. Ils se sentaient bien en obtenant
    1000 points supplémentaires jusqu'à ce qu'ils arrivent à la moitié du couloir. Le ressentiment ne disparaît jamais.
  • Notation par les pairs : lorsque les budgets des assistants techniques ont été réduits à Cornell, j'ai demandé à des étudiants jumelés au hasard de noter les devoirs les uns des autres à l'aveugle, puis de noter les correcteurs à l'aveugle (en utilisant les identifiants de cours et non les noms - une bonne idée). Afin d'éviter toute collusion, personne ne notait les autres étudiants qui les notaient. Dans les évaluations de cours, j'ai demandé aux étudiants s'ils pensaient avoir été notés de manière équitable (tous l'ont fait) et s'ils avaient été notés de manière équitable (aucun ne l'a été). Cette année-là a été le point le plus bas dans mes évaluations d'enseignement.
  • Questions d'examen avec points négatifs : Une fois, j'ai fait passer un examen final Vrai/Faux avec une valeur négative égale pour les mauvais choix. Un étudiant qui avait raté l'examen a battu la moyenne.
  • Écrire des émulateurs de logiciels : Le téléchargement de Sigma (www.sigmawiki.com) comprend une boîte à outils GPSS, une boîte à outils Arena, une boîte à outils SIMAN, des émulateurs Simio et Petri Nets ainsi que des exemples de graphiques PERT et de simulation en temps continu. Le support technique est épouvantable. Si vous essayez ces outils, ne m'envoyez PAS d'e-mail pour me demander de nouvelles fonctionnalités.

L'impact sur l'entreprise

6. CONCLUSIONS

La plupart des programmes de génie industriel et de nombreux programmes de gestion quantitative proposent des cours de simulation et les méthodes d'enseignement de ces cours sont variées. Cet article (et le panel de la conférence) s'est concentré sur les méthodes, les expériences et les méthodes/philosophies de quatre instructeurs expérimentés. Bien que nous ne prétendions pas avoir des réponses parfaites à toutes les questions ou des méthodologies optimales, nous espérons que d'autres instructeurs et de futurs instructeurs trouveront certaines de ces informations utiles.