WO2003044705A1 - Procede d'aide a la conception d'algorithmes d'optimisation prenant en compte une limite de temps - Google Patents

Procede d'aide a la conception d'algorithmes d'optimisation prenant en compte une limite de temps Download PDF

Info

Publication number
WO2003044705A1
WO2003044705A1 PCT/FR2002/004017 FR0204017W WO03044705A1 WO 2003044705 A1 WO2003044705 A1 WO 2003044705A1 FR 0204017 W FR0204017 W FR 0204017W WO 03044705 A1 WO03044705 A1 WO 03044705A1
Authority
WO
WIPO (PCT)
Prior art keywords
search
time
strategy
exploration
time limit
Prior art date
Application number
PCT/FR2002/004017
Other languages
English (en)
Inventor
Simon De Givry
Youssef Hamadi
Original Assignee
Thales
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Thales filed Critical Thales
Priority to US10/496,513 priority Critical patent/US20050065902A1/en
Priority to EP02803462A priority patent/EP1466283A1/fr
Publication of WO2003044705A1 publication Critical patent/WO2003044705A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]

Definitions

  • the present invention relates to a method of helping to design optimization algorithms taking into account a time limit. It aims to enrich the framework of constraint programming by the introduction of an explicit time control in the search algorithms.
  • a combinatorial optimization problem under constraints is defined by a set of decision variables taking values from finite sets of values, by a set of constraints on the variables restricting the combinations of allowed values, and finally by a function, which is , for example, if it is a minimization problem, a cost function (it would be a profit function for a maximization problem).
  • a solution to such a problem is an assignment of all the variables which satisfies all the constraints.
  • An optimal solution corresponds to a solution having the lowest value of the cost function among all the existing solutions.
  • the treatment of a combinatorial optimization problem consists in looking for low cost solutions, if possible optimal, or, if necessary, in proving the absence of a solution.
  • a classic example of a combinatorial optimization problem under constraints is the problem of coloring a graph.
  • a variable is associated with each vertex of the graph.
  • the variable value range contains the available colors.
  • a difference constraint links each pair of variables whose vertices are linked by an edge.
  • the cost function corresponds to the number of different colors used in the solution.
  • a first observation linked to the theory of complexity is that there is no efficient algorithm for finding solutions that is generic, that is to say capable of effectively treating all combinatorial problems. It is necessary to develop a specific algorithm for each class of problem.
  • the performance of the algorithm depends mainly on the analysis of the problem and the careful use of the results of this analysis.
  • the result of the analysis may be a heuristic guiding the choice of values.
  • a simple heuristic consists in first choosing the color most used in the solution under construction.
  • the order of assignment of the vertices is important: to decrease the practical complexity of the search, it is necessary to start with the vertices most connected to the vertices already affected.
  • OPL Optimization Programming Language
  • AI Artificial Intelligence
  • An “anytime” algorithm is an algorithm capable of returning a solution at any time (for example before the end of the search time allowed), and which improves the quality of its solution over time.
  • the algorithms for finding solutions are "anytime” by nature if we assume that it is possible to make a first solution, possibly partial, at any time. Work in this area focuses on the temporal control of algorithms used in AI.
  • Time control generally uses prior learning from experiments to select and adjust a search algorithm, [see reference No. 15] studies the time distribution of a time limit among several components of a voice processing algorithm to optimize output quality.
  • the present invention mainly applies to the contractual mode. It is possible to switch from contractual to interruptible mode [see for example reference N ° 14].
  • Each global (or partial) search algorithm defines a scheme for exploring a decision tree. From each diagram, we can extract a time control process which is most often adapted to the interruptible mode (for example the "Limited Discrepancy Search" algorithm
  • time control does not rely on established, generic primitives for a set of time control processes. It is the programmer's responsibility to fully implement each time control.
  • the PPC also does not contain such primitives to describe a process of temporal control in contractual mode.
  • the general framework of "anytime" algorithms does not specify how to formalize this link either.
  • the subject of the present invention is a method of helping to design optimization algorithms taking into account a time limit which provides a framework for more easily expressing a search algorithm and its temporal control, in particular in contractual mode, this process being able to extend the framework of constraint programming, and making it possible to deal more effectively with problems with a time limit.
  • the process according to the invention has the following functions:
  • the adjustments of the limits consist in indicating the branches to be preferably explored in the search tree.
  • the adjustments of the limits are made according to one of the following three modes: fixed, progressive and adaptive.
  • the time limit is taken into account in an algorithm is done through the adjustment of parameters dimensioning the complexity of its search.
  • FIG. 1 is a diagram illustrating the main functions implemented by the invention and their mutual relationships
  • FIGS. 2 to 4 are diagrams illustrating the main functions implemented by methods of the prior art.
  • FIG. 5 is a diagram illustrating the succession of steps implemented by the method of the invention.
  • a model 1 It contains the definition of the problem to be treated in the form of a set of variables and constraints.
  • a set 2 of heuristics It is an extensible set of predefined functions to order the choices in the construction of a solution. For example, heuristics to guide the choice of values.
  • a set of primitives makes it possible to create new heuristics from existing heuristics. For example, the reversal of the order of a heuristic or the combination of two heuristics: in case of equality on the comparison of two choices by the first heuristic then comparison according to the second heuristic.
  • the link between model and heuristics corresponds to the heuristic examination of the state of the current domains of the variables and of the structure of the constraint network in order to evaluate a choice.
  • a research scheme 3 (SR). It gives a structured representation of the research space. In the case of global research, it describes how to build the decision tree, independently of any time constraint (a priori complete tree). Heuristics are used to configure this construction.
  • the primitives associated with this component relate to the description of the choice points (the nodes of the tree), the combination of choice points and the minimization / maximization function, for example a cost / profit function.
  • An example of a choice point is enumerating values for a variable.
  • An example of combining two choice points, A and B is the sequence: on each leaf of A, the search continues on B.
  • the OPL language [see reference No. 7] has a set of such primitives.
  • the link between model and research scheme allows dynamic construction of the tree, depending on the current state of the model.
  • An exploration strategy 4 (SE). It specifies parameters controlling the complexity of the search. In the case of partial searches, these parameters specify which part of the tree is to be explored. The SE therefore applies a certain number of limits on an SR. For example, a limit on the branching factor, applied to nodes of the tree. Certain references [see for example references N ° 4 and N ° 9] propose a set of primitives expressing these limits. A prior learning phase is necessary to determine the values of the parameters which are relevant. The list of relevant values, sorted by increasing complexity, is called "parameter adjustment policy".
  • a time strategy 5 (ST). It describes the composition of SEs as a means of expression of time control.
  • a composition is a sequence of SEs, an intertwining of SEs or a combination of the two. This composition makes it possible to express most of the hybrid methods: "Shuffling"
  • each SE will have its own time limit allowing it to control its exploration.
  • the ST also specifies the mode for adjusting the parameters of each SE: fixed, progressive or adaptive adjustment [see reference No. 4].
  • Requests 6 Coming from outside the system, requests require the processing of a combinatorial problem under time constraints. Concretely, the requests envisaged (associated with a primitive) are those of on-line systems:> Start a search with or without time limit.
  • a time control 7 (CT).
  • the type of request imposes the time control mode (contractual or interruptible).
  • the interruptible mode is simulated by a succession of activations of the contractual mode with an increasing time limit.
  • the CT selects an ST from a list of available STs.
  • the selection rules are determined by a prior learning phase.
  • the CT has tools estimating the time to carry out a search, the quality of a solution (distance to the optimum) and the evolution of the quality of the solutions ("performance profiles"). These tools provide progress information for a system user. They are also used for the adaptive adjustment of the parameters of an SE. They could also be used in the case of the autonomous mode of time control. It's also the time control which receives and takes into account requests during the search [See reference N ° 5].
  • each component has a set of primitives which facilitate the expression of a search algorithm taking into account a time limit.
  • the ST and SE components make it possible to make the link between a time limit and the adjustment of a search algorithm.
  • Figure 2 shows the general architecture of an online optimization system. It basically distinguishes two things.
  • the search engine 8 which effectively solves the current problem
  • the decision-making module 9 which controls the search and which receives external requests 10.
  • This architecture does not specify how to control the search, nor how to express this control.
  • FIG. 3 shows the architecture used by reference No. 3.
  • This architecture includes: a model 11, a hybridization scheme 12, a learning process 13 and input data 14 which include a fixed time limit and a set of instances to deal only with the classic problem of vehicle tours (delivery trucks for example), known as VRP in English.
  • time control is static. It is a question of generating an algorithm which is performing on average for a set of instances representative of the problem to be treated and for a fixed time limit.
  • This architecture is very specific for the following reasons: only one class of problems is tackled (classic problem of vehicle routing), the type of request is very limited (single time limit) and the time control of the algorithm is independent of the 'proceeding in progress.
  • Figure 4 shows the architecture of the OPL language [see references N ° 7 and N ° 13].
  • the component 15 "OPLSc pt" makes it possible to carry out a search sequence relating to possibly different models 16.
  • the research is described by a research scheme 17 and an exploration strategy 18.
  • OPL has no tools or primitives that explicitly take into account a time limit, with the exception of the primitive 19 "HcTimeLimit” which has no effect on the setting of the search. This is why this component clearly differs from the ST component of the present invention.
  • Component 18 is different from component SE of the present invention because this component 18 also offers the possibility of defining an order of traversal of the nodes of the tree.
  • FIG. 5 shows a timing diagram showing how the various functions shown in FIG. 1 cooperate with each other.
  • the external environment sets a time limit t for the search. If necessary, this time limit can be modified during the search.
  • the time limit t is distributed (ti to t n ) to the various SE exploration strategies of the selected ST according to its associated "distribution policy" 24.
  • the SEs setting mode and the sequence of SEs are also imposed by the selected ST.
  • the adjustment of the limits of the n different SEs (SEi to SE n ) as a function of the "adjustment policies" associated with each particular SE (SEj) 26, of the adjustment mode imposed by the ST and of the time allotted (tj).
  • the different SEs being set, the corresponding exploration limits each determine a partial route of SR (in 27), based on heuristics 28 and the model 29.
  • the execution of the different partial routes is done in sequence (primitive "seq") or interlaced (primitive "int”). This is checked at 23, depending on the ST selected.
  • the result (in 30) is the production of one or more solutions, or even none if the calculation time is insufficient or if the problem is not soluble. It will be noted that the data of elements 21, 22, 24, 26 and 28 are obtained by learning not described by the invention.
  • the present invention makes it possible to: • Provide a framework for expressing search algorithms taking into account a time limit. This framework should facilitate the reading and maintenance of such algorithms.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Business, Economics & Management (AREA)
  • Computational Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Human Resources & Organizations (AREA)
  • Operations Research (AREA)
  • Pure & Applied Mathematics (AREA)
  • Strategic Management (AREA)
  • Data Mining & Analysis (AREA)
  • Algebra (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Development Economics (AREA)
  • Geometry (AREA)
  • Game Theory and Decision Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

Le procédé de l'invention met essentiellement en oeuvre les fonctions suivantes un modèle (1), des heuristiques (2), un schéma de recherche (3) choisi parmi plusieurs, une stratégie d'exploration (4) choisie parmi plusieurs et une stratégie temporelle (5) choisie parmi plusieurs, le contrôle temporel (7) entraînant le choix d'une stratégie temporelle et le réglage des limites de chaque stratégie d'exploration.

Description

PROCEDE D'AIDE A LA CONCEPTION D'ALGORITHMES D'OPTIMISATION PRENANT EN COMPTE UNE LIMITE DE TEMPS
La présente invention se rapporte à un procédé d'aide à la conception d'algorithmes d'optimisation prenant en compte une limite de temps. Elle vise à enrichir le cadre de la programmation par contraintes par l'introduction d'un contrôle temporel explicite dans les algorithmes de recherche.
Un problème d'optimisation combinatoire sous contraintes se définit par un ensemble de variables de décision prenant des valeurs parmi des ensembles finis de valeurs, par un ensemble de contraintes sur les variables restreignant les combinaisons de valeurs permises, et enfin par une fonction, qui est, par exemple, s'il s'agit d'un problème de minimisation, une fonction de coût (il s'agirait d'une fonction de profit pour un problème de maximisation). Une solution à un tel problème est une affectation de toutes les variables qui satisfasse toutes les contraintes. Une solution optimale correspond à une solution ayant la plus petite valeur de la fonction de coût parmi l'ensemble des solutions existantes. Le traitement d'un problème d'optimisation combinatoire consiste à rechercher des solutions de faible coût, si possible optimales, ou, le cas échéant, à prouver l'absence de solution.
Un exemple classique de problème d'optimisation combinatoire sous contraintes est le problème de la coloration d'un graphe. Une variable est associée à chaque sommet du graphe. Le domaine de valeurs des variables contient les couleurs disponibles. Une contrainte de différence relie chaque paire de variables dont les sommets sont liés par une arête. La fonction de coût correspond au nombre de couleurs différentes utilisées dans la solution. L'étude des problèmes de coloration de graphe sert en particulier dans le domaine des télécommunications, pour les problèmes d'allocation de fréquences à des liens radio dans un réseau hertzien. Une analogie est faite entre les couleurs et les fréquences.
La complexité du traitement des problèmes combinatoires est souvent telle que seule la recherche de solutions de faible coût est envisageable dans un temps de calcul raisonnable.
Un premier constat lié à la théorie de la complexité est qu'il n'existe pas d'algorithme efficace de recherche de solutions qui soit générique, c'est-à-dire capable de traiter efficacement tous les problèmes combinatoires. Il est nécessaire de développer un algorithme spécifique pour chaque classe de problème. La performance de l'algorithme dépend principalement de l'analyse du problème et de l'utilisation fine des résultats de cette analyse. Par exemple, le résultat de l'analyse peut-être une heuristique guidant le .choix des valeurs. Dans le cas du coloriage, une heuristique simple consiste à choisir d'abord la couleur la plus utilisée dans la solution en cours de construction. Egalement, l'ordre d'affectation des sommets est important : pour diminuer la complexité pratique de la recherche, il faut commencer par les sommets le plus reliés aux sommets déjà affectés. De ce constat, il ressort que la conception des algorithmes de recherche est une tâche délicate qui nécessite des outils dédiés. La programmation par contraintes (PPC) offre un cadre technique pour de tels outils. De nombreuses applications d'optimisation, en particulier les applications temps réel embarquées, ont comme contraintes opérationnelles des limites strictes sur l'espace mémoire et le temps de calcul consommés. De façon générale, la limite de temps de calcul concerne tous les systèmes dits en-ligne, c'est-à-dire capables de réagir continûment à des événements extérieurs. C'est le cas par exemple des systèmes de replanification de tâches suite à de nouvelles demandes ou à des événements modifiant le plan initial.
Un second constat est que les algorithmes de recherche existants dans les outils de PPC du commerce (llog, Cosytec, etc.) ne prennent pas en compte explicitement les contraintes opérationnelles citées précédemment. C'est au programmeur de l'algorithme de mettre en œuvre des moyens pour garantir les limites de mémoire et de temps. De plus, il ne bénéficie d'aucune aide pour décrire comment son algorithme exploite la limite temporelle.
Il existe principalement deux classes d'algorithmes de recherche de solutions: (i) les méthodes de recherche globale et (ii) les méthodes de recherche locale. Les premières utilisent des mécanismes de raffinement de problème consistant à décomposer une instance de problème en plusieurs sous-instances indépendantes (produisant un arbre de décisions) et à appliquer un processus de filtrage excluant des affectations partielles jugées insatisfiables ou sous-optimales (processus de propagation des contraintes). Les secondes utilisent des mécanismes de transformation d'affectations complètes (qui ne respectent pas forcément toutes les contraintes). Ces deux approches peuvent être combinées: cela donne les méthodes hybrides, constituées de plusieurs recherches globales et/ou locales. En temps limité, la recherche globale effectue une exploration partielle de l'arbre. On parle alors de recherche partielle. De nombreux algorithmes ont été publiés pour explorer intelligemment l'arbre. On peut citer comme exemple l'algorithme "Limited Discrepancy Search" [voir la référence N° 6 à la fin de la description] qui répète une recherche de plus en plus complexe en commençant par explorer les nœuds de l'arbre préférés par l'heuristique de choix de valeur puis en s'éloignant progressivement de ces nœuds. Un autre exemple est celui de l'algorithme "Realtime Heuristic Search" [voir la référence N° 8] qui utilise la limite temporelle pour adapter la profondeur de sa recherche en avant dans un contexte de planifications et d'exécutions entrelacées.
Dans le cas de la recherche locale, celle-ci s'adapte assez aisément à une limite temporelle. De nombreux paramètres interviennent sur le réglage d'une recherche locale. Par exemple, le nombre de variables modifiées à chaque transformation. Ces paramètres influent sur la performance de l'algorithme en fonction du temps. On peut citer l'algorithme du recuit simulé [voir la référence N° 1] dont la convergence du schéma de décroissance de la température peut être réglée pour terminer au plus juste dans le temps imparti.
Enfin la prise en compte du temps dans une recherche hybride implique une répartition des efforts de calcul entre les différentes recherches globales et locales qui la composent. L'article "A Meta-Heuristic Factory for Vehicle Routing Problems (Meta-Programming for Meta-Heuristics)" [voir la référence N° 3] propose de construire automatiquement des algorithmes hybrides à partir d'un ensemble d'opérateurs de recherches élémentaires dédiés aux problèmes de tournées de véhicules. La construction se fait par une méthode d'apprentissage fondée sur un jeu d'instances et pour un temps de calcul donné. La complexité de l'algorithme hybride généré est estimée. Cela permet de ne conserver que les combinaisons et les réglages d'opérateurs qui conduisent à un algorithme dont le temps de calcul tient à peu près dans la limite temporelle. La programmation par contraintes (PPC) offre un langage informatique pour exprimer des problèmes d'optimisation combinatoire sous contraintes. Elle sépare nettement la phase de modélisation du problème, c'est-à-dire sa description sous forme de variables et de contraintes, de la phase de recherche de solutions. Initialement les outils de PPC ont mis l'accent sur la phase, de modélisation en proposant un ensemble de contraintes ayant un grand pouvoir d'expression. Plus récemment des avancées ont été faites sur l'aspect langage de la phase de recherche de solutions. Le langage "Optimization Programming Language" (OPL) d'Ilog [voir les références N° 7 et N° 13] offre un langage évolué dédié aux méthodes de recherche globale et partielle. OPL possède certaines fonctionnalités permettant de traiter plus efficacement un problème en temps limité: (i) des stratégies spécifiant un ordre d'exploration et (ii) des méthodes pour limiter la complexité d'une recherche. Une partie de la recherche en Intelligence Artificielle (IA) s'intéresse à la prise en compte de façon plus réaliste des contraintes temporelles dans les systèmes temps réel [voir la référence N° 12 ]. Les algorithmes "anytime" font partie de cette mouvance. Un algorithme "anytime" est un algorithme capable de retourner à tout instant (par exemple avant la fin du temps de recherche imparti) une solution, et qui améliore la qualité de sa solution au cours du temps. Typiquement, les algorithmes de recherche de solutions sont "anytime" par nature si l'on fait l'hypothèse qu'il est possible de rendre une première solution, éventuellement partielle, à tout instant. Les travaux dans ce domaine s'intéressent au contrôle temporel des algorithmes employés en IA.
On distingue trois modes de contrôle temporel d'un algorithme de recherche dépendant du type de contrainte temporelle :
• Dans le mode contractuel, la limite temporelle est connue avant de faire la recherche. Elle est imposée soit dynamiquement par une requête venant de l'extérieur, soit statiquement par une exigence du système. L'algorithme de recherche doit exploiter au mieux le temps imparti et doit rendre une solution à l'échéance.
• Dans le mode interruptible, la limite temporelle est inconnue. La recherche sera interrompue en cours de route sur requête de l'extérieur. L'algorithme de recherche doit produire des solutions de qualité croissante au cours du temps. La performance de l'algorithme est jugée en fonction de sa courbe d'évolution de la qualité des solutions. Il est préférable que la progression de la qualité soit plus forte en début de recherche qu'après.,
• Dans le mode autonome, la limite temporelle est inconnue.
C'est le contrôle temporel qui détermine le meilleur instant pour arrêter la recherche et rendre une solution. C'est l'approche principalement étudiée pour les algorithmes "anytime" [voir la référence N° 16 ].
Le contrôle temporel utilise généralement un apprentissage préalable à partir d'expérimentations pour réaliser la sélection et le réglage d'un algorithme de recherche, [voir la référence N° 15 ] étudie la répartition temporelle d'une limite temporelle parmi plusieurs composants d'un algorithme de traitement vocal pour optimiser la qualité en sortie.
La présente invention s'applique principalement au mode contractuel. Le passage du mode contractuel au mode interruptible est possible [voir par exemple la référence N° 14 ]. Chaque algorithme de recherche globale (ou partielle) définit un schéma d'exploration d'un arbre de décisions. De chaque schéma, on peut extraire un processus de contrôle temporel qui est le plus souvent adapté au mode interruptible (par exemple l'algorithme "Limited Discrepancy Search"
[voir la référence N° 6 ]) et plus rarement au mode contractuel (par exemple l'algorithme "Realtime Heuristic Search" [voir la référence N° 8 ]). Il en est de même dans le cas des algorithmes de recherche locale ou hybride.
Cependant, la description du contrôle temporel ne s'appuie pas sur des primitives établies, génériques pour un ensemble de processus de contrôle temporel. C'est à la charge du programmeur d'implanter entièrement chaque contrôle temporel.
La PPC ne contient pas non plus de telles primitives pour décrire un processus de contrôle temporel en mode contractuel. Il n'existe pas de primitive dans les systèmes PPC existants, qui facilite l'expression du lien entre une limite de temps et la sélection et le réglage d'un algorithme de recherche. Le cadre général des algorithmes "anytime" ne précise pas non plus comment formaliser ce lien.
La présente invention a pour objet un procédé d'aide à la conception d'algorithmes d'optimisation prenant en compte une limite de temps qui fournisse un cadre pour exprimer plus facilement un algorithme de recherche et son contrôle temporel, en particulier en mode contractuel, ce procédé pouvant étendre le cadre de la programmation par contraintes, et permettant de traiter plus efficacement des problèmes avec une limite temporelle. Le procédé conforme à l'invention comporte les fonctions suivantes:
- un modèle définissant le problème à traiter,
- des heuristiques pour guider les choix de construction d'un arbre de recherche, - une librairie de primitives de recherche pour décrire comment construire un arbre de recherche a priori complet,
- une librairie de primitives décrivant des limites d'exploration de l'arbre réglables et faisant apparaître les réglages pertinents, ces réglages pouvant être avantageusement obtenus par apprentissage,
- une librairie de primitives décrivant divers enchaînements temporels de recherches partielles telles que figurant dans la librairie de primitives de recherche précitée et décrivant la façon de régler les paramètres de chaque recherche. Selon un aspect de l'invention, les réglages des limites consistent à indiquer les branches à explorer preferentiellement dans l'arbre de recherche.
Selon un autre aspect de l'invention, les réglages des limites se font selon l'un des trois modes suivants: figé, progressif et adaptatif. Ainsi, selon l'invention, la prise en compte de la limite temporelle dans un algorithme se fait au travers du réglage de paramètres dimensionnant la complexité de sa recherche
La présente invention sera mieux comprise à la lecture de la description détaillée d'un mode de mise en œuvre, pris à titre d'exemple non limitatif et illustré par le dessin annexé, sur lequel : - La figure 1 est un diagramme illustrant les principales fonctions mises en œuvre par l'invention et leurs relations mutuelles,
- Les figures 2 à 4 sont des diagrammes illustrant les principales fonctions mises en œuvre par des procédés de l'art antérieur, et
- La figure 5 est un diagramme illustrant la succession d'étapes mises en œuvre par le procédé de l'invention.
On va décrire en référence à la figure 1 les différentes fonctions mises en œuvre par le processus d'aide à la conception d'algorithmes selon l'invention. Ces différentes fonctions sont :
• Un modèle 1. Il contient la définition du problème à traiter sous la forme d'un ensemble de variables et de contraintes.
• Un ensemble 2 d'heuristiques. C'est un ensemble extensible de fonctions prédéfinies pour ordonner les choix dans la construction d'une solution. Par exemple, des heuristiques pour guider le choix des valeurs. Un ensemble de primitives permet de créer de nouvelles heuristiques à partir d'heuristiques existantes. Par exemple, l'inversion de l'ordre d'une heuristique ou bien la combinaison de deux heuristiques : en cas d'égalité sur la comparaison de deux choix par la première heuristique alors comparaison suivant la deuxième heuristique. Le lien entre modèle et heuristiques correspond à l'examen par les heuristiques de l'état des domaines courants des variables et de la structure du réseau de contraintes de manière à évaluer un choix.
• Un schéma de recherche 3 (SR). Il donne une représentation structurée de l'espace de recherche. Dans le cas des recherches globales, il décrit la façon de construire l'arbre de décisions, indépendamment de toute contrainte temporelle (arbre a priori complet). Les heuristiques sont utilisées pour paramétrer cette construction. Les primitives associées à ce composant concernent la description des points de choix (les nœuds de l'arbre), la combinaison de points de choix et la fonction de minimisation/maximisation, par exemple une fonction de coût/profit. Un exemple de point de choix est l'énumération des valeurs pour une variable. Un exemple de combinaison de deux points de choix, A et B, est l'enchaînement : à chaque feuille de A, la recherche continue sur B. Le langage OPL [voir la référence N° 7 ] possède un ensemble de telles primitives. Le lien entre modèle et schéma de recherche permet une construction dynamique de l'arbre, en fonction de l'état courant du modèle.
• Une stratégie d'exploration 4 (SE). Elle spécifie des paramètres contrôlant la complexité de la recherche. Dans le cas des recherches partielles, ces paramètres précisent quelle partie de l'arbre est à explorer. La SE applique donc un certain nombre de limites sur un SR. Par exemple, une limite sur le facteur de branchement, appliquée à des nœuds de l'arbre. Certaines références[voir par exemple les références N° 4 et N° 9] proposent un ensemble de primitives exprimant ces limites. Une phase d'apprentissage préalable est nécessaire pour déterminer les valeurs des paramètres qui sont pertinentes. La liste des valeurs pertinentes, triée par complexité croissante, est appelée « politique de réglage des paramètres ».
• Une stratégie temporelle 5 (ST). Elle décrit la composition de SEs comme moyen d'expression du contrôle temporel. Une composition est une séquence de SEs, un entrelacement de SEs ou une combinaison des deux. Cette composition permet d'exprimer la plupart des méthodes hybrides : « Shuffling »
[voir la référence N° 2], « Hybridations par coopération » [voir ies références N° 5 et N° 10], « Interleaved Depth-First Search » [voir la référence N° 11], etc. Il faut toutefois noter que dans ce dernier exemple, il ne s'agit pas d'un algorithme hybride. Il exploite une idée propre aux recherches locales, qui est de diversifier la recherche en répartissant les efforts de calcul sur plusieurs sous-recherches effectuées de manière quasi-simultanée par un processus d'entrelacement. Chaque SE contribue à améliorer la qualité de la solution. Les solutions sont partagées parmi les SEs au travers d'un « historique des solutions ». Une « politique de répartition temporelle » vient enrichir une composition en indiquant comment répartir une limite de temps aux SEs de la composition [voir la référence N° 5]. Par exemple, une répartition équitable du temps entre les SEs d'une séquence. Ainsi chaque SE aura sa propre limite temporelle lui permettant de contrôler son exploration. La ST précise également le mode de réglage des paramètres de chaque SE : réglage figé, progressif ou adaptatif [voir la référence N° 4]. • Des requêtes 6. Venant de l'extérieur du système, les requêtes demandent le traitement sous contrainte de temps d'un problème combinatoire. Concrètement, les requêtes envisagées (associées à une primitive) sont celles des systèmes en-ligne : > Démarrer une recherche avec ou sans limite temporelle.
> Suspendre, continuer ou arrêter une recherche.
> Elargir ou réduire la limite temporelle d'une recherche.
> Donner des informations sur l'état d'avancement de la recherche. • Un contrôle temporel 7 (CT). Le type de requête impose le mode de contrôle temporel (contractuel ou interruptible). Le mode interruptible est simulé par une succession d'activations du mode contractuel avec une limite de temps croissant. En fonction de la limite temporelle et d'une analyse du modèle, le CT sélectionne une ST parmi une liste de STs disponibles. Les règles de sélection sont déterminées par une phase d'apprentissage préalable. Le CT dispose d'outils estimant le temps pour effectuer une recherche, la qualité d'une solution (distance à l'optimum) et l'évolution de la qualité des solutions (« profils de performance »). Ces outils donnent des informations d'état d'avancement pour un utilisateur du système. Ils sont également utilisés pour le réglage adaptatif des paramètres d'une SE. Ils pourraient aussi servir dans le cas du mode autonome du contrôle temporel. C'est également le contrôle temporel qui reçoit et prend en compte les requêtes pendant la recherche [Voir la référence N° 5 ].
Il faut noter que chaque composant possède un ensemble de primitives facilitant l'expression d'un algorithme de recherche prenant en compte une limite temporelle. Les composants ST et SE permettent de faire le lien entre une limite temporelle et le réglage d'un algorithme de recherche.
Ces caractéristiques sont des caractéristiques importantes de Pinvention(voir figure 5, décrite ci-dessous).
La figure 2 montre l'architecture générale d'un système d'optimisation en-ligne . Elle distingue essentiellement deux choses. D'une part le moteur de recherche 8 qui résout effectivement le problème courant, d'autre part le module décisionnel 9 qui pilote la recherche et qui reçoit des requêtes extérieures 10. Le module décisionnel commande, (commandes telles que : lancer une recherche, l'interrompre, modifier les paramètres, interroger le moteur de recherche), le moteur de recherche fournit en retour des résultats (solutions, profil courant, statistiques,...) [voir la référence N° 5]. Cette architecture ne précise pas la façon de contrôler la recherche, ni comment exprimer ce contrôle.
La figure 3 montre l'architecture utilisée par la référence N° 3. Cette architecture comprend: un modèle 11 , un schéma d'hybridation 12, un processus d'apprentissage 13 et des données d'entrée 14 qui incluent une limite temporelle fixée et un jeu d'instances pour ne traiter que le problème classique de tournées de véhicules (des camions de livraison par exemple), dits VRP en anglais. Dans cette architecture, le contrôle temporel est statique. Il s'agit de générer un algorithme qui soit performant en moyenne pour un jeu d'instances représentatives du problème à traiter et pour une limite temporelle fixée. Cette architecture est très spécifique pour les raisons suivantes : une seule classe de problèmes est abordée (problème classique de tournées de véhicules), le type de requête est très limité (limite temporelle unique) et le contrôle temporel de l'algorithme est indépendant de l'instance en cours.
La figure 4 montre l'architecture du langage OPL [voir les références N° 7 et N° 13]. Le composant 15 "OPLSc pt" permet de réaliser une séquence de recherches portant sur des modèles 16 éventuellement différents. Les recherches sont décrites par un schéma de recherche 17 et une stratégie d'exploration 18. OPL ne dispose d'aucun outil ou primitive prenant en compte une limite temporelle explicitement, à l'exception de la primitive 19 "HcTimeLimit" qui n'a aucun effet sur le réglage de la recherche. C'est pourquoi ce composant se différencie clairement du composant ST de la présente invention. Le composant 18 est différent du composant SE de la présente invention car ce composant 18 offre en plus la possibilité de définir un ordre de parcours des nœuds de l'arbre. Par contre, il ne fait pas l'hypothèse d'un paramétrage explicite de la complexité de la recherche (absence de "politique de réglage des paramètres" ). On a représenté en figure 5 un chronogramme montrant comment coopèrent entre elles les différentes fonctions représentées en figure 1. L'environnement extérieur fixe une limite temporelle t pour la recherche. Le cas échéant, cette limite temporelle peut être modifiée en cours de recherche. Le processus de recherche étant lancé, avec cette limite temporelle, en 20, il y a une sélection d'une stratégie temporelle ST, qui, en faisant appel à des règles de sélection 21 , choisit une ST parmi une collection 22 de STs. En 23, la limite temporelle t est répartie (ti à tn) aux diverses stratégies d'exploration SE de la ST sélectionnée en fonction de sa "politique de répartition" 24 associée. Le mode de réglage des SEs et l'enchaînement des SEs sont également imposés par la ST sélectionnée. Il s'ensuit, en 25, le réglage des limites des n différentes SEs (SEi à SEn ) en fonction des "politiques de réglage" associées à chaque SE particulière (SEj ) 26, du mode de réglage imposé par la ST et du temps alloué (tj). Les différentes SEs étant réglées, les limites d'exploration correspondantes déterminent chacune un parcours partiel de SR (en 27), en s'appuyant sur les heuristiques 28 et le modèle 29. L'exécution des différents parcours partiels se fait en séquence (primitive "seq") ou en entrelacé (primitive "int"). Ceci est contrôlé en 23, suivant la ST sélectionnée. Il en résulte (en 30) la production d'une ou de plusieurs solutions, ou même d'aucune si le temps de calcul est insuffisant ou si le problème n'est pas soluble. On notera que les données des éléments 21 , 22, 24, 26 et 28 sont obtenues par apprentissage non décrit par l'invention.
En conclusion, la présente invention permet de : • Offrir un cadre pour exprimer des algorithmes de recherche prenant en compte une limite temporelle. Ce cadre doit faciliter la lecture et la maintenance de tels algorithmes.
• Proposer une architecture modulaire pour spécifier de tels algorithmes, avec la possibilité de réutiliser des parties d'algorithme issues des différents composants, favorisant ainsi la capitalisation.
• Prendre en compte la limite temporelle dynamiquement pour avoir une bonne adéquation de l'algorithme au temps imparti et à l'instance et profiter éventuellement des évolutions des plates-formes matérielles.
• Étendre le domaine d'application de la programmation par contraintes aux problèmes en-ligne.
Références
1.-Aarts & Korst1989
E. Aarts, J. Korst. Simulated Annealing and Boltzmann Machines: a Stochastic Approach to Combinatoήal Optimization and Neural Network. John Wiley & Sons, 1989.
2.-Applegate & Cook1991
D. Applegate, W. Cook. A computational study of the job-shop scheduling problem. ORSA Journal On Computing, 3(2):149--156, 1991.
3.-Caseau ét al. 1999
Y. Caseau, F. Laburthe, G. Silverstein. A Meta-Heuristic Factory for Vehicle Routing Problems (Meta-Programming for Meta-Heuristics). In Proc. of CP-99, pages 144-158, Alexandria, Virginia, 1999.
4.-Givry ét al. 1999
Simon de Givry, Pierre Savéant, Jean Jourdan. Optimisation combinatoire en temps limité : Depth first branch and bound adaptatif. In Proc. of JFPLC-99, pages 161 -178, Lyon, France, 1999.
5. -Givry ét al. 2000
S. de Givry, Y. Hamadi, J. Jourdan, J. Mattioli, M. Lemaître, G. Verfaillie, A. Aggoun, I. Gouachi, T. Benoist, E. Bourreau, F.X. Josset, F. Laburthe, B. Rottembourg, P. Boizumault, P. David, R. Debruyne, N. Jussien, S. Loudni, S. Bourgault, M. Lauvergne. Environnement d'optimisation en ligne dédié télécom. Technical report, Thaïes, ONERA, Cosystec, Bouygues, Ecole des Mines de Nantes et France Télécom, Novembre 2000. Rapport sous-projet 1.
6.-Harvey & Ginsberg1995
William D. Harvey, Matthew L. Ginsberg. Limited discrepancy search. In Proc. of IJCAI-95, pages 607-613, Montréal, Canada, 1995. 7.-Hentenryck1999
P. Van Hentenryck. OPL: The Optimization Programming Language. The MIT Press, Cambridge, Mass., 1999.
8.-Korf1990
Richard E. Korf. Real-time heuristic search. Artificial Intelligence, 42:189-211 , 1990.
9.-Laburthe1998 François Laburthe. SaLSA: a language for search algorithme. In
Proc. of CP-98, pages 310-324, Pisa, Italy, October 26-30 1998.
10.-Lobjois & Lemaîtrel 997
L. Lobjois, M. Lemaître. Coopération entre méthodes complètes et incomplètes pour la résolution de (V)CSP: une tentative d'inventaire. In Proc. of JNPC-97, pages 67-73, Rennes, France, 1997.
11.-Meseguer1997
Meseguer, P. (1997). Interleaved depth-first search. In Proc. of IJCAI-97, Nagoya, Japan, pp. 1382-1387.
12.-Musliner ét al. 1995
David J. Musliner, James A. Hendler, Ashok K. Agrawala, Edmund H. Durfee, Jay K. Strosnider, C.J. Paul. The challenges of real-time Al. IEEE Computer, 28(1 ):58-66, January 1995.
13.-Perron1999
L. Perron. Search Procédures and Parallelism in Constraint Programming. In Proc. of CP-99, pages 346-360, Alexandria, Virginia, 1999.
14.-Russell & Zilbersteln1991
S.J. Russell, S. Zilberstein. Composing real-time Systems. In Proc. of lJCAI-91, pages 212-217, Sidney, Australia, 1991. 15.-Zilberstein1993
Shiomo Zilberstein. Operational Rationality through Compilation of Anytime Algorithms. PhD thesis, University of California, Berkeley, 1993.
16.-Zilberstein1996
Shiomo Zilberstein. Using Anytime Algorithms in Intelligent Systems. Al Magazine, 17(3):73-83, 1996.

Claims

REVENDICATIONS
1. Procédé d'aide à la conception d'algorithmes d'optimisation prenant en compte une limite de temps, caractérisé en ce qu'il met en œuvre les fonctions suivantes :
- un modèle définissant le problème à traiter (1 , 29), - des heuristiques pour guider les choix de construction d'un arbre de recherche (2, 28),
- une librairie de primitives de recherche pour décrire comment construire un arbre de recherche a priori complet (3, 27),
- une librairie de primitives décrivant des limites d'exploration de l'arbre réglables et faisant apparaître les réglages pertinents,
- une librairie de primitives décrivant divers enchaînements temporels de recherches partielles telles que figurant dans la librairie de primitives de recherche précitée et décrivant la façon de régler les paramètres de chaque recherche (5, 23, 24).
2. Procédé selon la revendication 1 , caractérisé en ce que les réglages des limites consistent à indiquer les branches à explorer preferentiellement dans l'arbre de recherche.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce que les recherches se font selon l'un des trois modes suivants : figé, progressif ou adaptatif.
4. Procédé selon l'une des revendications précédentes, caractérisé en ce que la prise en compte de la limite temporelle dans un algorithme se fait au travers du réglage de paramètres dimensionnant la complexité de sa recherche.
5. Procédé selon l'une des revendications précédentes, caractérisé par le fait que la sélection d'une stratégie temporelle (20) fait appel à des règles de sélection (21) et choisit une stratégie parmi une collection (22) de stratégies temporelles.
6. Procédé selon la revendication 5, caractérisé par le fait qu'une politique de répartition (24) associée à une stratégie temporelle sélectionnée (23) répartit la limite temporelle aux diverses stratégies d'exploration de la stratégie temporelle sélectionnée.
7. Procédé selon la revendication 5 ou 6, caractérisé par le fait que la stratégie temporelle sélectionnée compose le mode de réglage des stratégies d'exploration et leur enchaînement.
8. Procédé selon l'une des revendications 5 à 7, caractérisé par le fait que des politiques de réglage (26) associées à chaque stratégie d'exploration assurent, le réglage des limites des différentes stratégies d'exploration (25).
9. Procédé selon la revendication 8, caractérisé par le fait que, les différentes stratégies d'exploration étant réglées, les limites d'exploration correspondantes déterminent chacune un parcours partiel d'une stratégie de recherche (27) en s'appuyant sur les heuristiques (28) et le modèle (29).
10. Procédé selon la revendication 8 ou 9, caractérisé en ce que les données des règles de sélection (21), des stratégies temporelles (22), de la politique de répartition (24), des politiques de réglage (26) associées à chaque stratégie d'exploration, et des heuristiques (28) sont obtenues par apprentissage et expérimentations.
PCT/FR2002/004017 2001-11-23 2002-11-22 Procede d'aide a la conception d'algorithmes d'optimisation prenant en compte une limite de temps WO2003044705A1 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US10/496,513 US20050065902A1 (en) 2001-11-23 2002-11-22 Method for designing optimization algorithms integrating a time limit
EP02803462A EP1466283A1 (fr) 2001-11-23 2002-11-22 Procede d aide a la conception d algorithmes d opt imisation prenant en compte une limite de temps

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0115193A FR2832828B1 (fr) 2001-11-23 2001-11-23 Procede d'aide a la conception d'algorithmes d'optimisation prenant en compte une limite de temps
FR01/15193 2001-11-23

Publications (1)

Publication Number Publication Date
WO2003044705A1 true WO2003044705A1 (fr) 2003-05-30

Family

ID=8869732

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/FR2002/004017 WO2003044705A1 (fr) 2001-11-23 2002-11-22 Procede d'aide a la conception d'algorithmes d'optimisation prenant en compte une limite de temps

Country Status (4)

Country Link
US (1) US20050065902A1 (fr)
EP (1) EP1466283A1 (fr)
FR (1) FR2832828B1 (fr)
WO (1) WO2003044705A1 (fr)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7606776B1 (en) 2005-09-28 2009-10-20 Actenum Corporation Flexible constraint propagation engine for combinatorial optimization applications
US8965826B2 (en) 2010-05-17 2015-02-24 International Business Machines Corporation Dynamic backjumping in constraint satisfaction problem solving
CN109923561B (zh) * 2016-09-02 2023-09-26 新思科技公司 使用相关元启发法的分区
DE102019211173A1 (de) * 2019-07-26 2021-01-28 Robert Bosch Gmbh Verfahren und Vorrichtung zum Verwalten von Rechenleistung in einem Datenverarbeitungssystem
CN111695728B (zh) * 2020-06-04 2021-09-21 南京音飞峰云科技有限公司 基于机器学习的密集库设备调度策略参数动态调优方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1098253A2 (fr) * 1999-11-04 2001-05-09 Mitsubishi Denki Kabushiki Kaisha Recherche heuristique et visualisation interactive pour résoudre des problèmes d'optimisation combinatoire

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6144953A (en) * 1986-05-20 2000-11-07 Harris Corporation Time-constrained inference strategy for real-time expert systems
US6086617A (en) * 1997-07-18 2000-07-11 Engineous Software, Inc. User directed heuristic design optimization search
US6754634B1 (en) * 1998-04-01 2004-06-22 William P. C. Ho Method for scheduling transportation resources
AU2177400A (en) * 1998-12-15 2000-07-03 Jing Xiao Method for solving partial constraint satisfaction problems for sequencing tasks
US6321317B1 (en) * 1998-12-16 2001-11-20 Hewlett-Packard Co Apparatus for and method of multi-dimensional constraint optimization in storage system configuration
JP2002154612A (ja) * 2000-11-15 2002-05-28 Internatl Business Mach Corp <Ibm> 経路探索システム及び経路探索方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1098253A2 (fr) * 1999-11-04 2001-05-09 Mitsubishi Denki Kabushiki Kaisha Recherche heuristique et visualisation interactive pour résoudre des problèmes d'optimisation combinatoire

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
KORF R E: "IMPROVED LIMITED DISCREPANCY SEARCH", PROCEEDINGS AAAI, NATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE, XX, XX, vol. 1, 1996, pages 286 - 291, XP000749287 *
LABURTHE F ET AL: "SALSA: a language for search algorithms", PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING - CP98. 4TH INTERNATIONAL CONFERENCE, CP98. PROCEEDINGS, PRINCIPLES AND PRACTICE OF CONSTRAINT PROGRAMMING - CP98. 4TH INTERNATIONAL CONFERENCE, CP98. PROCEEDINGS, PISA, ITALY, 26-30 OCT. 1998, 1998, Berlin, Germany, Springer-Verlag, Germany, pages 310 - 324, XP002216121, ISBN: 3-540-65224-8 *
PAPE LE C: "IMPLEMENTATION OF RESOURCE CONSTRAINTS IN ILOG SCHEDUL: A LIBRARY FOR THE DEVELOPMENT OF CONSTRAINT-BASED SCHEDULING SYSTEMS", INTELLIGENT SYSTEMS ENGINEERING, INSTITUTION OF ELECTRICAL ENGINEERS., STEVENAGE, GB, vol. 3, no. 2, 21 June 1994 (1994-06-21), pages 55 - 66, XP000484764, ISSN: 0963-9640 *

Also Published As

Publication number Publication date
FR2832828B1 (fr) 2004-01-30
EP1466283A1 (fr) 2004-10-13
US20050065902A1 (en) 2005-03-24
FR2832828A1 (fr) 2003-05-30

Similar Documents

Publication Publication Date Title
Aghion et al. Artificial intelligence and economic growth
EP1805611B1 (fr) Procede d&#39;ordonnancement de traitement de tâches et dispositif pour mettre en oeuvre le procede
EP1867100A1 (fr) Procédé de gestion de décisions, procédé de construction d&#39;un arbre de décision, gestionnaire central, gestionnaire intermédiaire, terminal et produits programmes d&#39;ordinateur correspondants
Maiya How to be a truly digital bank
WO2003044705A1 (fr) Procede d&#39;aide a la conception d&#39;algorithmes d&#39;optimisation prenant en compte une limite de temps
Ales et al. Innovation and crowdsourcing contests
Juarez et al. Sharing sequential values in a network
Gensbittel Continuous-time limit of dynamic games with incomplete information and a more informed player
Gamez et al. SPL-TQSSS: a software product line approach for stateful service selection
Kogelmann et al. 11 Rational Choice Theory
Watson Contract and game theory: Basic concepts for settings with finite horizons
Perrault Efficient Learning in Stochastic Combinatorial Semi-Bandits
EP1688872A2 (fr) Outil informatique de prévision
Apt Strategic games
Burkhardt-Bourgeois et al. Prediction and Control: The Specific Role of Business Angels in the Investment Process
Kilgour The graph model for conflict resolution as a tool for negotiators
Niva Freedom in the role of a Product Owner: a case study of the role and requirements of a Product Owner in a large-scale agile environment
Frejinger et al. Data-Driven Combinatorial Optimisation (Dagstuhl Seminar 22431)
Dowling et al. Innovation in the digital age
Stein Technology-focused Acquisitions: Performance and Functionality as Differentiators
Gordon Four eras of CRM selling: Why big data and predictive analytics will unlock the science of selling
Gran Automatic machine learning applied to time series forecasting for novice users in small to medium-sized businesses: a review of how companies accumulate and use data along with an interface for data preparation as well as easy and powerful prediction analysis capable of providing valuable insight
Qatamin et al. Concept, Theory, and Classification of Electronic-HRM: A Conceptual Study
Perninge Non-Markovian Impulse Control Under Nonlinear Expectation
Vu Risk management in complex new product development projects: the automotive industry perspective

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): SG US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2002803462

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002803462

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10496513

Country of ref document: US