IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Julia Discussion :

Optimisation d'un ordonnancement


Sujet :

Julia

  1. #1
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut Optimisation d'un ordonnancement
    Bonjour à tous,

    On m'a demandé de résoudre et trouver une solution en optimisant un problème d'ordonnancement. J'aurai besoin d'aide pour implémenter sur Julia.
    je vous mets les captures de ce qu'on me demande.

    Merci d'avance

    Nom : TP page 1.PNG
Affichages : 239
Taille : 107,4 KoPièce jointe 608847

  2. #2
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 617
    Points : 188 587
    Points
    188 587
    Par défaut


    Que te demande-t-on au juste ? Un algorithme exact, d'approximation, à base de modèle CP/MIP, etc. ? As-tu un algorithme écrit en pseudocode à traduire en Julia ?
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

  3. #3
    Nouveau membre du Club
    Profil pro
    Ingénieur
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par dourouc05 Voir le message
    Que te demande-t-on au juste ? Un algorithme exact, d'approximation, à base de modèle CP/MIP, etc. ? As-tu un algorithme écrit en pseudocode à traduire en Julia ?
    Il n'y a pas beaucoup d'entreprise(s) qui demande(nt) à leurs ingénieurs de résoudre un problème d'ordo en leur fournissant un cahier des charges en LaTeX. Je pense plutôt que c'est un travail scolaire à faire par quelqu'un qui n'a pas pris le temps de reprendre la question à sa sauce pour obtenir une aide constructive.
    Du coup si tu pouvais lui créer un dépot git avec le corrigé complet en Julia+JuMP, ainsi que la description LaTeX de la solution (source et pdf) tout en prévoyant de la place pour qu'il ajoute son nom ce serait parfait ;-).

    ... Mais désolé si je me suis trompé !

    P.S. Et merci Thibaut pour ton travail pour la communauté Julia !

  4. #4
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par mdiam Voir le message
    Il n'y a pas beaucoup d'entreprise(s) qui demande(nt) à leurs ingénieurs de résoudre un problème d'ordo en leur fournissant un cahier des charges en LaTeX. Je pense plutôt que c'est un travail scolaire à faire par quelqu'un qui n'a pas pris le temps de reprendre la question à sa sauce pour obtenir une aide constructive.
    Du coup si tu pouvais lui créer un dépot git avec le corrigé complet en Julia+JuMP, ainsi que la description LaTeX de la solution (source et pdf) tout en prévoyant de la place pour qu'il ajoute son nom ce serait parfait ;-).

    ... Mais désolé si je me suis trompé !

    P.S. Et merci Thibaut pour ton travail pour la communauté Julia !
    Bonjour à toi,

    Je remarque que demander de l'aide sur une plateforme est traduite par un réponse comme la tienne. Si tu m'avais laissé répondre au très gentil monsieur au dessus, j'aurai pu expliquer. Effectivement j'ai repris un sujet que j'ai eu en cours mais parce que ce problème ressemble de très prêt à celui de mon entreprise. Je me suis permis de changer les données dans les tableaux pour les adapter à celle de mon entreprise. Je n'avais pas beaucoup de données avec ma boite et pour bien contextualiser pour avoir de l'aide, j'ai retravaillé le sujet. En tout cas, merci beaucoup pour ta réponse, c'est la première fois que je demande de l'aide sur un forum, mais ça ne donne pas envie de recommencer...

    Bonne journée à toi

    Citation Envoyé par dourouc05 Voir le message
    Que te demande-t-on au juste ? Un algorithme exact, d'approximation, à base de modèle CP/MIP, etc. ? As-tu un algorithme écrit en pseudocode à traduire en Julia ?
    Bonjour à toi et merci pour ta réponse,

    J'ai demandé de l'aide car je ne maitrise pas du tout Julia et on me l'a conseillé pour résoudre des problèmes d'ordonnancements. J'ai repris un sujet que j'avais eu en cours car il ressemble beaucoup au cas que j'ai dans mon entreprise. Je ne retrouve malheureusement pas le code fait par des collègues de classe. J'aurai besoin du code julia permettant de résoudre ce problème pour que je le reprenne en entreprise. Je peux te donner le format que l'on utilisait. Il me faudrait les commentaire du code pour pouvoir les retravailler dans mon entreprise.
    J'utilisai jupyter et anaconda. Je n'arrive pas à t'envoyer mon fichier exemple..

    Merci beaucoup de ton aide

  5. #5
    Nouveau membre du Club
    Profil pro
    Ingénieur
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par XxBenjamxX Voir le message
    Bonjour à toi et merci pour ta réponse,
    J'ai demandé de l'aide car je ne maitrise pas du tout Julia et...
    Bonjour,

    Je comprends ta réponse et tant mieux si je me suis trompé et que ma seconde hypothèse était la bonne ;-).
    Tu as bien fait de proposé ta question, mais ce que je lui reproche c'est qu'elle était très vague et ressemblait trop à des demandes d'exercice à résoudre clé en main comme il y en a beaucoup sur d'autres forums. Tu comprends bien que si l'intéressé ne peux pas préciser un minimum son besoin, on a pas forcément le temps et encore moins l'envie de lire l'énoncé et de lui répondre si la question n'est pas précise.

    Bien souvent dans ces cas là on entend plus parlé de l'auteur, pas même pour savoir si sont problème est résolu.

    C'est très bien que tu continue à préciser ta question (qui aurait pu contenir les réponses à la question de Thibaut).
    Si la question était "Est-ce que Julia est adapté pour résoudre ce problème", la réponse est "oui Julia est quasiment fait pour cela !".
    Par contre outre l'objectif final demandé par Thibaut, le type de méthode à utiliser dépend fortement de la taille des données du problème. Si les instances (i.e les jeux de données) ne sont "pas trop grandes", le problème peut être abordé par une méthode exacte. Plus précisément il peut être modélisé par une approche mathématique puis résolu à l'aide du package JuMP.jl et un solveur externe (opensource) comme Cbc.

    - <https://jump.dev/JuMP.jl/stable/tutorials/getting_started/getting_started_with_JuMP/>

    Si le problème est trop gros pour être attaqué par de telles méthodes (ou si tu n'es pas à l'aise avec ce genre d'approche), tu peux utiliser des méta-heuristiques comme tu le ferais en C++ (i.e. donc plus efficacement que tu ne le ferais en python).

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 341
    Points : 528
    Points
    528
    Par défaut
    Bonsoir,

    Est-ce que ceci peut être utile :

    - Scheduling.jl – Collaborative and Reproducible Scheduling Research with Julia : https://arxiv.org/pdf/2003.05217.pdf
    - https://github.com/bprzybylski/Scheduling.jl

  7. #7
    Candidat au Club
    Homme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Novembre 2021
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes
    Secteur : Bâtiment

    Informations forums :
    Inscription : Novembre 2021
    Messages : 3
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par mdiam Voir le message
    Bonjour,

    Je comprends ta réponse et tant mieux si je me suis trompé et que ma seconde hypothèse était la bonne ;-).
    Tu as bien fait de proposé ta question, mais ce que je lui reproche c'est qu'elle était très vague et ressemblait trop à des demandes d'exercice à résoudre clé en main comme il y en a beaucoup sur d'autres forums. Tu comprends bien que si l'intéressé ne peux pas préciser un minimum son besoin, on a pas forcément le temps et encore moins l'envie de lire l'énoncé et de lui répondre si la question n'est pas précise.

    Bien souvent dans ces cas là on entend plus parlé de l'auteur, pas même pour savoir si sont problème est résolu.

    C'est très bien que tu continue à préciser ta question (qui aurait pu contenir les réponses à la question de Thibaut).
    Si la question était "Est-ce que Julia est adapté pour résoudre ce problème", la réponse est "oui Julia est quasiment fait pour cela !".
    Par contre outre l'objectif final demandé par Thibaut, le type de méthode à utiliser dépend fortement de la taille des données du problème. Si les instances (i.e les jeux de données) ne sont "pas trop grandes", le problème peut être abordé par une méthode exacte. Plus précisément il peut être modélisé par une approche mathématique puis résolu à l'aide du package JuMP.jl et un solveur externe (opensource) comme Cbc.

    - <https://jump.dev/JuMP.jl/stable/tutorials/getting_started/getting_started_with_JuMP/>

    Si le problème est trop gros pour être attaqué par de telles méthodes (ou si tu n'es pas à l'aise avec ce genre d'approche), tu peux utiliser des méta-heuristiques comme tu le ferais en C++ (i.e. donc plus efficacement que tu ne le ferais en python).
    Bonjour et merci à toi pour ta réponse

    Après réflexion, je me rends compte que ma question pouvait être mal perçu mais c'est bien pour un cas d'entreprise
    Je n'y connais pas grand chose à Julia, je l'ai utilisé rapidement en cours et je n'ai que de petite base. J'aimerai avoir une implémentation sur jupyter (anaconda) avec un fichier de type : Fichier IPYNB (.ipynb), c'est ce que j'ai sur mon ordinateur xD.

    J'utilisais cette méthodo pour implémenter dans julia, est ce que cela te parle ?
    Nom : Exemple 1.PNG
Affichages : 188
Taille : 49,3 KoNom : Exemple 2.PNG
Affichages : 172
Taille : 39,5 Ko

    Nous récupérions la solution et la mettions en forme dans Julia. Si vous pouviez m'aider à trouver les variables, les contraintes et la fonction objectif, cela m'aiderait beaucoup.

    En espérant que vous puissiez m'aider

    A ++

  8. #8
    Nouveau membre du Club
    Profil pro
    Ingénieur
    Inscrit en
    Novembre 2007
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Novembre 2007
    Messages : 18
    Points : 34
    Points
    34
    Par défaut
    Citation Envoyé par XxBenjamxX Voir le message
    Bonjour et merci à toi pour ta réponse

    Après réflexion, je me rends compte que ma question pouvait être mal perçu mais c'est bien pour un cas d'entreprise
    Je n'y connais pas grand chose à Julia, je l'ai utilisé rapidement en cours et je n'ai que de petite base. J'aimerai avoir une implémentation sur jupyter (anaconda) avec un fichier de type : Fichier IPYNB (.ipynb), c'est ce que j'ai sur mon ordinateur xD.

    J'utilisais cette méthodo pour implémenter dans julia, est ce que cela te parle ?
    ...
    Nous récupérions la solution et la mettions en forme dans Julia. Si vous pouviez m'aider à trouver les variables, les contraintes et la fonction objectif, cela m'aiderait beaucoup.

    En espérant que vous puissiez m'aider

    A ++
    Bonjour,

    Oui ça me parle. La démarche de la copie d'écran (peu lisible) correspond effectivement à l'approche par modélisation mathématique mentionnée précédemment. Avec cette approche, l'utilisation de Julia + JuMP est tout à fait adaptée. De plus le sujet d'ordo donné en PJ (que j'ai lu car il est lisible ;-) de ton mail initial est très intéressant.

    Mais ce problème est non trivial à coté de ce que j'ai deviné de la copie d'écran du notebook. Cette approche est la bonne, mais il ne faut pas qu'il ait de malentendu sur le travail à réaliser. En effet Julia (et JuMP) est tout-à fait secondaire pour ce problème. Ce qui compte c'est d'abord l'écriture d'un modèle mathématique complet (précis, non ambigü), exact et adapté à la taille du problème.
    En effet, le sujet présente le problème, mais il faut ensuite le formaliser :
    - définir et nommer les données (l'ensemble des machines, l'ensemble des tâches, ...),
    - définir les variables de décisions et leur domaine,
    - définir **toutes** les contraintes (sans les confondre avec un sous-critère de l'objectif),
    - définir l'objectif.

    https://fr.wikipedia.org/wiki/Optimi...ombres_entiers

    De plus, tu n'as pas répondu aux précédentes questions de Thibaut ni à la mienne pour préciser la taille des données réelles. C'est un peu comme si tu nous montrais quelques lignes de C++ et que tu vous voulais avoir de l'aide pour créer un logiciel de maillage.

    Et jusque là on ne parle pas encore de Julia qui est l'objet de ce forum.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Optimisation] Ordonnancement avec le solveur CPLEX
    Par anissaadia dans le forum Mathématiques
    Réponses: 1
    Dernier message: 16/08/2016, 11h14
  2. Optimisation de votre SGBDR et de vos requêtes...
    Par SQLpro dans le forum Langage SQL
    Réponses: 35
    Dernier message: 11/01/2013, 11h49
  3. [VB6] [BDD] Optimisation de l'accès aux données
    Par LadyArwen dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 30/01/2003, 13h27
  4. [langage]Problème de temps de lecture, optimisation
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 08/01/2003, 08h47
  5. [langage] Optimiser la lecture d'un fichier
    Par And_the_problem_is dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2002, 10h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo