Outils logiciels pour les cours Paris II

Cours Paris II

edit SideBar

Cours 1

Le cours est une introduction à la programmation VBA, à partir d'Excel.

Nous allons revoir dans un premier temps comment utiliser les fonctions élémentaires d'Excel pour réaliser des calculs, puis le solveur d'Excel, puis des macros.

  • Notions d'algorithmes: Euclid (PGCD, -300), Al-Khovarizmi (Prix d'un marché, 850)
  • Programme informatique: représentation d'un algorithme, Ada Lovelace, premier programmeur vers 1850.
  • Qu'est-ce qu'une fonction calculable?
    • Classe de fonctions récursives: Turing (The Imitation Game) et Church 1936
    • Qu'est-ce qu'une fonction effectivement calculable?
      • calculable en temps polynomial, 1970
      • calculable effectif sur le web? 2020 ?
  • Qu'est-ce qu'un langage informatique?
    • C, C++, C#, Java, Python
    • VBA: monde Microsoft Office
    • PHP: langage des serveurs
  • Principe général: relativisation. On écrit un programme qui définit une nouvelle

fonction, à partir de fonctions élémentaires.

Function f(x as Int) as Int

 ....
 ....

End Function

Sub f(x as Int)

 ....
 ....

End Sub

  • Configuration d'Excel pour utiliser le solveur et les macros VBA

Il faut s'assurer que la configuration Excel permet l'utilisation de macros. S'assurer de l'onglet "Développeur", et que les macros sont activées. Les fichiers sont alors en .xlsm plutot que .xlsx ou .xsl.

  • Lecture de fichiers de données: exemples de health.html et gdp.html. Limites d'Excel.

Format de données, alignement des céllules, nombres vs. caractères.

  • Exemple des fonctions SOMME et FREQUENCE.
  • Insertion d'un graphique.
  • Introduction au solveur.

Programmation linéaire:

Max ct.x

A . x < b

Outil générique pour résoudre des problèmes d'ordonnancement, d'optimisation de resources et de jeux.

Programmation linéaire:

Max ct.x

A . x < b

L'algorithme du simplex permet de trouver une solution lorsqu'elle existe:

Une représentation simplifiée à partir de l'exemple ci-dessous. Plus de détails sur le Simplex

Problème linéaire et son interprétation géométrique

Problème linéaire à 2 variables

Forme normale

Problème linéaire à 2 variables +3 variables d'écart

Pivot 1

Pivot 2

Pivot 3

Pivot 4

Situations possibles pour le Simplex:

  • Solution non bornée
  • Itération dégénérée
  • Cycle
  • Initialisation

Implémentation dans Excel

Solution

Exemple: Recherche de gamme Exemples et Solutions

L'exemple 1 décrit la production de produits complexes (TV, Chaine Stéréo, Haut-parleurs) à partir de produits élémentaires: Chassis, Tube vidéo, Cone, Alimentation, Electronique. Soit x1, x2, x3 le nombre de TVs, Chaines, Haut-parleurs. Le profit réalisé est 75*x1+50*x2+35*x3. Le stock de produits élémentaires est de (450,250,800,400,600) et la matrice A décrit le nombre de composants élémentaires pour chaque produit complexe. Quelle est la solution optimale?

UP2