Solveur Javascript pour recherche opérationelle.

Introduction


Une lib pour solver avec js : https://www.npmjs.com/package/javascript-lp-solver

But :

Développer une app utilisant cette api.
Traiter les pbs de

  • Transport
  • Mélanges
  • Horaires

avec Dual etc …

Publicités

[News ] Centres d’intérêts : La Recherche opérationnelle, le simplexe, la programmation linéaire . Mise a jour parfois

icone_news

Introduction


Suite à l’entrée en fin de ma formation Eicnam Cti (Reste 2 Ues et le mémoire, glups), je compte vraiment me recentrer sur la recherche opérationnelle (simplexe, solveurs), puis, si possible la déduction naturelle qui sont vraiment des univers et des outils impressionnants, mais, peu abordables pour qui ne pratique pas sans cesse.

La recherche opérationnelle est une science profonde et aux implications extrêmes et multiples. Je dirais qu’elle est tout simplement obligatoire.

La R.O, c’est les mathématiques dans leur aspect le plus séduisant , s’assurer de minimiser ses pertes et de maximiser ces gains, peut importe le projet, c’est juste MAGIQUE, des mathématiques, certes mais magiques (Surtout quand c’est traité par les solveurs .. ouf, et bien sur, du coup, l’erreur n’est pas permise).

Prenons un exemple simple, une personne désirant faire livrer 1000 exemplaires d’un objet génial dans 3 dépots différents en France à partir de 3 usines différentes en France avec des couts de trajet différents, mais qui n’utilise pas la recherche opérationnelle peut perdre énormément d’argent si il ne valide pas au préalable son projet en le modélisant dans un programme linéaire puis en exécutant le simplexe dessus avec pour fonction objectif de minimiser ses couts de transport.

Une des clefs de compréhension basique sur laquelle je compte étant la mise en vecteur des valeurs lors de l’analyse syntaxique du problème, puis la transposition au PL. L’autre clef étant de convertir les unités de temps à la même unité avant leur inclusion dans le PL (Il peut y a voir des jours, des heures des minutes, mais dans le PL, ce ne sont que des minutes par exemple) , de même pour les poids ou les flux. Rien que ces considérations à l’aspect futile me sont désormais d’un bon secours dans mon avancée dans cet univers. Bien sur, je reste dans le linéaire, et ne suis pas près d’en sortir pour l’instant pendant quelques années vu mon niveau .

Gestion des trajets et des stocks -> Réduction des couts
Gestion de mélanges de nourriture pour animaux -> Réduction des couts
Gestion d’emplois du temps complexes
Temps d’utilisation Machine -> Optimisation des gains , Maximisation du CA
Choix de matières premières -> Optimisation du CA

RCP 101 et RCP 110 : Mes livres pour enfin commencer à tenter de faire de l’optimisation concrete :

Programmation linéaire avec Excel 55 Problèmes d’optimisation pas à pas de EYROLLES: Mai 2018: Trop tooop , j’avance déjà et publierais un post sur toutes mes méthodes bientôt . Avec ce livre on peut commencer à traiter des problèmes concrets d’optimisation ; sans trop se soucier de la théorie, ce qui est mon but dans un premier temps (C’est trop hard, avec le quadratique etc …), n’étant pas capable encore de gérer les aspect théoriques de la question hormis les plus simples . Le but étant d’avoir pas mal de tableaux Excel prêts pour les cas globaux et savoir les exploiter avec le solveur. On peut déjà ainsi minimiser ou maximiser pas mal de cas .

Mai 2018 : Springer Numeric optimisation de 1989 : un anglais facile à comprendre et le peu que j’ai lu c’est super structure et gradué dans l’apprentissage . J’hallucine carrément a fond comme c’est bien écris : on comprends bien c’est dénué de toute information ou théorie inutile!. J’ai aussi tout le reste de livres springer sur le simplexe . Ça me rappelle la clarté des livres Cisco mais encore en mieux puissance 100 , Il me semble que ca provient droit des usa ou peut être de UK .EDIT 2 :
J’ai juste dit n’importe quoi , en effet, c’était valable pour le premier chapitre, mais, en réalité, les autres chapitres sont extrêmement complexes voir inabordables, avec des mathématiques ultra avancés, finalement, pour l’instant, du coup je me rabats sur les livres springer d’introduction à la R.O parus vers 2010 , mon but étant d’être opérationnel avec des méthodes éprouvées et utiles sur des problèmes bateaux , pas de blablater sur un blog.

Programmation linéaire (5 euros): Eric Jacquet :Trop sympa avec des exos Excel, accessible, et il parle des solveurs.

La programmation linéaire (6 euros): Bruno H Solnik : Accessible avec de bons rappels de maths, un exemple trop sympa de vendeur de chaussettes qui doit optimiser ses gains.

Précis de recherche opérationnel ‘Version des années 1965-1970 ‘ : Un flot d’informations trop fourni à mon goût. Une graduation de l’apprentissage du plus simple au plus complexe non présente à mon gout. J’ai désormais la version des années 2010 et elle est vraiment beaucoup mieux aux premiers abords, et finalement, plus accessible que les livres springer.

La programmation linéaire appliquée à l’entreprise : DUNOD 1970 : Aux premiers abords  syntaxe sympa pour l’introduction : J’ai l’impression lors d’une première lecture , que le niveau dans les années 70 était plus haut que maintenant aux premiers abords. Il s’agissait d’une autre époque ou les idées étaient fondées et très profondes et complexes, basées sur de lourdes réflexions. Ni Internet, ni Excel n’existait, le niveau était extrême , et à l’époque la production était importante en France.

Il semble que je doive acheter https://www.eyrolles.com/Informatique/Livre/recherche-operationnelle-tome-1-9782729875091 mais c’est vraiment hyper cher !

Bref, dans tout cela , ce qui est le plus fascinant, c’est ‘ l’optimisation sous contraintes’ ainsi que la fonction à optimiser traduit l’objectif suivi par l’entreprise.’

 

Je compte faire RCP 110 mais pas de suite, vu qu’elle n’est pas obligatoire de suite, mais dans tous les cas je me dirige vers cela, et mon niveau actuel n’est pas assez bon le but étant de devenir opérationnel immédiatement sur les problèmes courants (horaires, objets à vendre, mélanges, flux par exemple), même si j’ai obtenu les UES, normal je faisais plein d’autres choses en même temps, de plus une fois l’UE obtenue, il faut continuer à la pratiquer pendant des années, selon moi , par contre je vais évoluer, et si je ne fais que ça pendant des années, ça va forcément avancer ) ?. Dans l’idée, il faudrait éventuellement ne plus faire que de la recherche opérationnelle, et presque plus de développement .
La démarche n’est pas du tout d’abandonner une UE que l’on a obtenu, mais il faut au contraire conserver ses classeurs et les relire si possible souvent.

Ce qui est drôle, c’est qu’à la suite de l’obtention du diplôme, j’aimerais prendre toutes les UES facultatives du cursus je pense, en fonction du temps .

L’autre partie qui m’intéresse dans ma formation est l’ingénierie commerciale .
A par ça, le site http://www.jybaudot.fr/a_general/indexstats.html est vraiment cool.

NFP 108 est vraiment fournie, assez difficile(Les prédicats), et très différente selon les régions, la version du Cnam Paris est vraiment complète sur les prédicats et excellente et ouvre la voie à des déductions inespérées, pour qui maitrise… La version de Bretagne est axée à fond sur les automates .Les professeurs NFP108 de Paris sont des sortes de génies. Lorsque l’on voit un logiciel comme COQ , on comprends que l’on puisse passer son temps à exercer sur pareil logiciel afin de prouver des problèmes possédant des tas d’aspects différents.

[Maths] Maths statistiques et optimisations.

15350

Introduction :


Post concernant de très lentes révisions de Maths se limitant uniquement à l’optimisation, aux statistiques et aux  probabilités. Avec des liens éventuels. Dans l’ordre du plus urgent au moins urgent (Et inversement …). Ca devrait durer des années parce que c’est vraiment vaste. Suite à Rcp 101, j’ai envie de faire RCP 110 , et j’ai des tas de livres de programmation linéaire.

Liste :


Maths du supérieur : Objectif : Résoudre des problèmes en apparence insolubles, avec des tas de variables .

Optimisation Linéaire sous contraintes : Simplexe, dualité, logiciels permettant de le faire (xpress mp ) + la lib java (ou lp-toolkit c++)et savoir si il existe lib js ou php Savoir le faire avec le solveur Excel, ne jamais faire d’erreurs .

http://www.hec.ca/cam/rubriques/optimistion_Excel.pdf
http://www.emse.fr/~beaune/solveur/expl.html
http://civile.utcb.ro/cmat/cursrt/solver.pdf
https://www.eyrolles.com/Informatique/Livre/programmation-lineaire-avec-excel-9782212126594
http://www.i3s.unice.fr/~malapert/org/teaching/proglin/proglin-notes.pdf
http://www.iutbayonne.univ-pau.fr/~grau/2A/RO/cadre3.html

-> Avoir les 3 exemples de base, déjà tous prêts à tourner :

  • Tranports
  • Mélange
  • Horaires

Et regarder le Goal Programming

 

Une société connue :

  • https://www.eurodecision.com/societe

Et le reste des cours, avec surtout la logique propositionnelle  :

  • Chaines de Markov et processus de décision Markovien (+ Machine learning ?)
  • Théorie des graphes : Flux, algos divers.
  • Automates, Langages réguliers.
  • Calcul des Proposition.
  • Logique propositionnelle (déduction naturelle)
  • Calcul des Prédicats.
  • Probabilités : Théorie des files d’attente :  Regarder le site incroyable http://www.jybaudot.fr/Stats/stats.html qui contient TOUT ce qui est possible.

 

Maths Lycée :

  • Loi Normale, de poisson, binomiale
  • Fluctuations d’échantillonnage, dispersion
  • Caractère continu et discret, population , effectif global, effectif cumulés croissants.
  • Variance, écart type,co variance.
  • Séries stats à deux variables.
  • Ajustement affine, méthode des moindres carrés.
  • Intégrales, primitives.

Maths Collège

  • Etendue
  • Moyennes
  • Médianes, Quartiles
  • Fréquences
  • Fréquences cumulées.

[Concours Ingénieur d’études Informatique fonction Publique] Condensé rapide de révision, par coeur.

Déroulement d’un projet Informatique en service public… (Apprendre par coeur)

Phase 1 :


Rappeler les normes de sécurité :

  • Le site de l’Ansii (un site Web).
  • Le R.G.S (Le référentiel général de sécurité, en sortir quelques unes.).
  • La CNIL (Publie des recommandations de sécurité, en connaitre quelques unes).

Phase 2:


Etablir un plan d’action en 4 phases, du plus simple au plus compliqué :

Sommaire :

Etape 1 : Cartographier l’état des lieux.

Etape 2 : Les processus de mise en Oeuvre.

Etape 3 : Les actions de sécurité.

Etape 4 : Pérenniser.


Etape 1 : Cartographier l’état des lieux:


  • Le réseau, avec Visio et en ligne de commandes, + éventuellement auditer OSI avec un sniffer. Citer les couches OSI.
  • Les objectifs avec le diagramme d’Ishikawa. (Savoir en faire un de tête)
  • Les problèmes avec le diagramme cause-effets (poisson). (Savoir en faire un de tête)
  • Les processus métiers avec les diagrammes de processus. savoir les modéliser.
  • Les tableaux de bords et indicateurs de performances(Affilié au processus métiers).
  • Les applications (et leur redondances.). (Présence d’un middleware? Type de SGBD ?)
  • La structure de la collectivité avec le diagramme de structure.(Savoir en faire un de tête)
  • Les interactions sociales avec le diagramme d’interactions sociales.(Savoir en faire un de tête)
  •  Etablir un cahier des charges standard et/ou publier un appel d’offre.
  • Les matrices de stratégie d’entreprises (Ad Little, Porter, Swot, BCG) pourraient éventuellement également s’adapter dans certains cas, même si c’est illogique, car commercial( A voir).(Savoir en faire un de tête)

D’une manière générale, rappeller les 4 architectures :

  • Métier
  • Fonctionnelle
  • Applicative
  • Technique

Et cartographier les 4 référentiels suivants :

  • stratégiques
  • fonctionnels
  • applicatifs
  • techniques

Puis,enfin, rappeler les 3 catégories de processus métier :

  • opérationnels
  • de pilotage.
  • de support.

De manière générale, expliquer la démarche professionnelle d’urbanisation des S.I, avec son parrallèle avec l’urbanisation de la cité, citer la zone, le quartier, l’ilot et les blocs fonctionnels qui conversent par flux de données.

Etape 2 : Les processus de mise en Oeuvre:


GESTION DU TEMPS :

  • Le diagramme de Gantt. (Savoir en faire un de tête)
  • Le graphe MPM. (Savoir en faire un de tête, ne pas faire d’erreur)

GESTION DU PROJET :

  • Choisir une méthode de gestion de projet ( En V, Agile, Scrum …) (Savoir en décrire 3, dont une incrémentale, une objet, ne pas faire d’erreur)
  • La roue de Dening.
  • La théorie des graphes. (Savoir faire un exemple de tête des graphes les plus connus, Comprendre par coeur celui du voyageur de Commerce ou des flux.)

GESTION DU DEVELOPPEMENT :

  • UML ou Merise. (UML est assez facile avec les projets Objet) (Connaitre au moins 3 graphes UML de tête et savoir les faire.)

FACULTATIF : GESTION DU RISQUE FINANCIER ET DES PROBABILITES :

  • Facultatif : Parler des probabilités ou de la loi de poisson (Savoir faire des exemples de tête)
  • Facultatif : Parler de la recherche opérationnelle, de la programmation linéaire, du simplexe( et surtout celui à 2 phases), des statistiques (Savoir faire de tête, surtout les stats, à partir de niveau collège->Terminale, ne pas faire d’erreurs, connaitre le programme Maths du Lycée, Connaitre les notations mathématiques du supérieur)
  • Montrer éventuellement que l’on connait le bilan, le compte de résultat (Savoir en faire de tête sommairement, et quelques formules d’analyse) et aussi gérer un plan comptable.

 

Etape 3 : Les actions de sécurité:


Physiques :

  • Onduleurs.
  • Locaux surveillés, fermés à clef.
  • Sauvegardes sur bandes, armoires centrifuges, techniques de sauvegardes( Raid 1,3,5 etc … Savoir les expliquer sommairement si possible)

Réseaux :

  • Adressage complexe/sécuritaire. (Etablissement de Sous réseaux, savoir expliquer comment faire, les puissances, les bits, etc …)
  • VLANS et FILTRAGE PAR Adresse MAC, trunking… (Se rappeler quelques commandes, citer un exemple d’usurpation d’adresse mac et de middle hacking.)
  • ROUTING et METHODES DE SECURISATION(Citer un ou deux exemple de hacking de routeur
  • ACLS CISCO, LINUX, ALCATEL
  • Pare feux (Citer les ports les plus connus et leur nombre 65535, ainsi que les ports les plus craignants)
  • NAT (Savoir expliquer le principe)
  • PROXIE (Savoir expliquer le principe)
  • IPv6 (Savoir expliquer le principe)

Applicatives :

  • Comptes Users, Admin, groupage.
  • Certificats
  • SSL
  • Droits NTFS, Linux
  • Cryptage, Sandboxes et chiffrement
  • Sécurité des applications SAAS et de la décentralisation.
  • Traiter des injections SQL (Donner un exemple..)
  • Savoir expliquer l’héritage en Java, la surcharge des méthodes, le public/private, la technologie OBJET. (Savoir créer une classe de mémoire et quelques exemples.)
  • Savoir expliquer les dernières technologies WEB (AngularJs, Jquery , Mysql, noSql, PHP, L’intérêt des frameworks CSS, JS , PHP etc … Proposer des exemples de tête) Montrer comment faire une JSP.
  • Savoir créer des rqts SQL jointures, parler des triggers, des vues, etc …(Savoir faire de tête un exemple)
  • Connaitre les systèmes d’applications réparties, les middlewares, les systèmes d’annuaire X11 etc …
  • Connaitre et décrire le format XML et le fonctionnement des services WEB.

Etape 4 : Pérénité.


  • Instaurer une culture de sécurité
  • Instaurer un plan pluri-annuel de détermination des besoins.