Skip to content

estellederrien/python-data-science

Repository files navigation

Fichiers Excel et python de recherche opérationnelle ( Optimisations linéaires et non linéaires)

Scripts de Data sciences, probabilités et machine learning en Python

CAS D'UTILISATIONS . Screenshot

Français/French

Mon dépot qui traite principalement de la recherche opérationnelle mathématique, des statistiques et des mathématiques avec Python. Orienté à fond sur la pratique, ou cas d'utilisations faciles à mettre en place, je pars toujours des cas les plus simples. Souvent mis à jour désormais, avec suivi des "news".

Anglais/English

My repository which mainly deals with mathematical operations research, statistics and mathematics with Python. Focused on practice, or easy to implement use cases, I always start from the simplest cases. Often updated now, with follow-up of "news". I could have written everything in English, but I will translate later all of my multiple optimizations notebooks and create a new depot. I am available in Hong Kong, Asia...

Dernières news du dépot :

04/05/2024 Je termine le notebook " Equations différentielles" en Français, et pour le reste, pour l'instant, je continue sur mon dépot en Anglais pour la chaine d'approvisionnement ( supply chain), le management et les lois de probabilité, afin de pouvoir traduire tout d'un seul coup plus tard, ça ira bien plus vite.

25/03/2024 Super post en Anglais concernant les méthode de linéarisation et Big M, sur or.stackexchange : https://or.stackexchange.com/questions/57/single-reference-for-mixed-integer-programming-formulations-to-linearize-handle

08/03/2024 Une fois les notebooks standard en optimisation terminés en Anglais, le reste sera confidentiel (Arrêt des publications en optimisation). Je continuerais alors uniquement mon Application SolvGraph.

04/03/2024 Enfin de retour ! Dans le dur avec mes notebooks "Manipulation des variables de décision" et ceux de Management et Odes.. espérons que j'aurais le temps de tout faire et en Anglais.. Manipulation de variables de décision

12/12/2023: Management opérationnel, Etude du management de la qualité avec l'excellent livre " Operations Management" de Roberta Russel et et James Taylor. Les mesures de productivité, les simulations, des formules simples mais primordiales à connaitre feront l'objet d'un autre notebook, et sont présentes dans ce livre. Pour les eq diffs, c'est le gros bordel, et je ne le supporte pas, donc je vais tout reprendre. A par ça, j'ai regroupé toutes les documentations et un livre traitant des méthodes reconnues de linéarisation de produits de contraintes dans les optimisations linéaires, et je vais continuer le notebook approprié.

15/09/2023: Menu pour l'année 2023-2024 :

  • Terminer l'étude "Notebooks d'optimisation"
  • Refaire et finaliser l'étude "Equations différentielles"
  • Réaliser le fichier " Lois de probabilités"
  • Eventuellement regarder la resistance des matériaux avec Python

14/09/2023: Découverte de la bonne vidéo à propos des équations diffs ODE utilisées dans Simulink (Robotique): https://www.youtube.com/watch?v=apPJtJqCu44&t=1209s

10/08/2023: [Calculer les seuils de rentabilité avec Python](https://github.com/estellederrien/python-data-science/blob/master/01.%20Recherche%20op%C3%A9rationnelle%20(Operations%20research%20-%20Management%20science)/01.%20Notebooks%20d'optimisation%20-%20cr%C3%A9ation%20en%20cours/26.%20Management%20-%20Calculer%20les%20seuils%20de%20rentabilit%C3%A9.ipynb

24/07/2023: Découverte de la documentation majeure Simpy pour calculer en maths symboliques (Français).

24/06/2023: Mes nouveaux notebooks sont désormais multiples et triés par catégories classique d'optimisation. La modélisation mathématique sera toujours en début d'exemple. Visionner mes notebooks d'optimisation mathématique - Recherche opérationnelle

05/06/2023: La méthode BigM, nécessaire ou pas dans Pulp

01/06/2023: Finalement toutes les astuces de type " Piecewize, BigM" et "Contraintes binaires" sont contenues dans https://download.aimms.com/aimms/download/manuals/AIMMS3OM_IntegerProgrammingTricks.pdf

30/05/2023 : Découverte du super livre "Numerical Python" de APress. Décision d'étudier une seule catégorie d'optimisation par semaine ( Les transports et le voyageur de commerce la semaine prochaine). Pour l'instant, je continue l'étude des variables binaires/conditionnelles, et des contraintes de type piecewize, avec des exemples concrets à venir, parce que c'est vraiment trop important à tenter de maitriser. I will translate my studies when all is finished... Nouveau lien Important pour comprendre Piecewize : https://ibmdecisionoptimization.github.io/tutorials/html/Beyond_Linear_Programming.html

29/05/2023 : Ma méthode pour créer des variables de décision et des contraintes en itérant avec un solveur Python :

25/05/2023: Etude des variables conditionnelles binaire et de la méthode BigM en optimisation :

24/05/2023: Recréation du problème d'ordonnancement excel " Construction d'un stade" de Marc Sevaux et Christian Prins, avec Python Mip

01/05/2023: Etablir le meilleur prix pour un objet, à l'aide de l'équation non linéaire de la demande, mon code ( et celui de John Hedengren)

31/05/2023 : Création de la chaine Youtube de mon app SolvGraph.com, pour les futurs tutoriels de l'app...

Photo

Introduction

Je stocke ici divers scripts de data science et de mathématiques descriptives ou prédictives en Python, en langue Française. Mes études sont principalement axées sur les solveurs , les régressions multiples, les lois de probabilité et les chaines de Markov. Un peu de finances aussi...

New 2022 : Je vais dorénavant stocker des centaines de fichiers de recherche opérationnelle avec le solveur EXCEL , c'est donc désormais du Prescriptif (Optimisation linéaire et non linéaires mathématique), que je traduis en Français, je leur crée des légendes simplifiées et les valide( Produits mixs, Produits mix non linéaires, Mélanges, Production multi périodes avec gestion des stocks, Job Shop sur multiples machines, Cutting stock, Bin Packing 2d et bien plus etc ... Je crée aussi le code en python correspondant afin de vérifier que les résultats collent entre eux ! je ne fais plus que ça ....

New 2022: I will now store hundreds of operational research files with the EXCEL solver, so it is now Prescriptive (Linear and nonlinear mathematical optimization ), which I translate into French, I create simplified legends for them and validate them (mixed products, non-linear mixed products, mixtures, multi-period production with inventory management, Job Shop on multiple machines, Cutting stock, Bin Packing 2d and many more etc. I will create the corresponding Python solver code too ... I just do that....

Important : Il faut savoir que les valeurs dans les fichiers Excel pourraient provenir de bases de données et non pas être des valeurs 'statiques' , et donc se modifier en temps réel, et pas seulement être statiques, ce qui procure une puissance incroyable au Solveur Excel. Je tente également de comparer les résultats en python à ceux en Excel dès que c'est possible, pour l'instant, c'est assez largement OK, et les solveurs trouvent les mêmes résultats (Solveur Excel = Solveur Python).

N'hésitez pas à consulter mon application commerciale , www.solvgraph.com ,alt text pour comprendre plus facilement ce qu'est la Recherche opérationnelle, en mode graphique, ainsi que son grand intérêt pour les entreprises.

Do not hesitate to consult my commercial application, www.solvgraph.com, to understand more easily what Operational Research is, in graphic mode, as well as its great interest for companies.

News (suite)

24/03/2023: En train d'évaluer comment je vais coder en full stack l'intégration de Gekko Solver à mon application www.solvgraph.com . Je pense commencer par proposer le pricing non linéaire, le products mix non linéaire, le Portefeuille aux moindres carrés, ce sera déjà un bon départ, mais une évaluation globale des modèles de data et du fonctionnement de SolvGraph au niveau des components est nécessaire. www.solvgraph.com doit router vers les solveurs, et proposer un mode graphique facile. Le travail est assez énorme. Un audit de ma propre application effectué par moi même est nécessaire, afin de la faire évoluer. le back end n'est pas difficile à réaliser, une fois que je l'ai testé, je sais qu'il fonctionne. Par contre, le Front end est assez difficile quand aux choix à entreprendre quand à ne pas révinventer la roue, mais de ne pas arriver à un code incompréhensible par de futurs collaborateurs. L'intérêt de Solvgraph est bien sur de proposer une surcouche graphique de facilité extrême pour faire de la recherche opérationnelle mathématique en temps réel, en mode graphique, et d'avoir des résultats irréprochables identiques à Excel, par exemple(Sinon, quel serait l'intérêt ?). La plus grande difficulté est de gérer le transfert du modèle de data du front end au solveur back end, ceci est opéré par une fonction spécifique, qui au fil du temps et des différents modèles mathématiques et leurs spécificité, a tendance a devenir trop lourde à lire pour les partenaires, sans parler des components qui devront à l'avenir finalement être parfois totalement personnalisés, un travail gigantesque, mais pas impossible. Vu la complexité du système, un schéma UML est pour le coup vraiment nécessaire, pour faire le point et avancer. C'est cette fonction qui transfère et formatte l'instance mathématique d'une optimisation (les datas) du front end au back end que je vais réécrire (La fonction ne sera plus dans le front end et en Js, mais en Python dans le back end) et simplifier, afin d'aborder le non linéaire en mode graphique plus facilement.

03/24/2023: Evaluating how I will full stack code the Gekko Solver integration to my www.solvgraph.com application. I think to start by proposing the non-linear pricing, the non-linear product mix, the least squares Portfolio, it will already be a good start, but a global evaluation of the data models and the functioning of SolvGraph at the component level is necessary. www.solvgraph.com must route to solvers, and offer an easy graphing mode. The work is quite enormous. An audit of my own application carried out by myself is necessary, in order to make it evolve. the back end is not hard to make, once i tested it i know it works. On the other hand, the Front end is quite difficult when it comes to the choices to be made when not to reinvent the wheel, but not to arrive at a code incomprehensible by future collaborators. The interest of Solvgraph is of course to offer a graphic overlay of extreme ease to carry out operational research in real time, in graphic mode, and to have irreproachable results (Otherwise, what would be the interest?). The biggest difficulty is to manage the transfer of the data model from the front end to the back end solver, this is operated by a specific function, which over time and with the different mathematical models and their specificities, tends to become too cumbersome to read for the partners, not to mention the components which will in the future have to be sometimes completely personalized, a gigantic task, but not impossible.Given the complexity of the system, a UML diagram is really necessary, to take stock and move forward. It is this function which transfers and formats the mathematical instance of an optimization (the data) from the front end to the back end that I will rewrite (The function will no longer be in the front end and in Js, but in Python in the back end) and simplify, in order to approach the nonlinear in graphic mode more easily.

06/03/2023: Découverte du cours du Mit en ligne : https://ocw.mit.edu/courses/15-053-optimization-methods-in-management-science-spring-2013/resources/mit15_053s13_lec11/

:

Lien optimisation en français non lin

27-04-2022 : Découverte du superbe site http://mba.tuck.dartmouth.edu/opt/index.html du super livre "Optimization Modeling with Spreadsheets" - Présence et explication d'un modèle de Job Shop avec disjonctions + Ficher excel ! Ce livre fait partie de mes 4 livres d'optimisation linéaire avec Excel en Anglais que j'étudie désormais, Microsoft Excel 2013 Data Analysis and Business Modeling , et Step-By-Step_Optimization_S et Wayne_L._Winston_S._Christian_Albright_Practical_Management_Science

  • 30-04-2021 : Ajout du répertoire de la théorie des files d'attente. Découverte du site de cours de mathématiques de université Lille L1 L2 et L3 : http://exo7.emath.fr/index.html

Modifier les notebooks Python avec Anaconda et Jupiter :

Screenshot
Ensuite, cliquer sur " Home " , "Jupiter Notebooks", et ouvrir ou créer un notebook...

Liens

Bonne vidéo de 1ère en résistance des matériaux. https://www.youtube.com/watch?v=jZBYX5M1Mx4

Mécanique Marc Buffat : https://perso.univ-lyon1.fr/marc.buffat/