Specification of an Arquitecture for Self-Organizing ... · development of the user interface...

10
Specification of an Arquitecture for Self-Organizing Scheduling Systems Ana Madureira 1 , Ivo Pereira 1 , Bruno Cunha 1 1 GECAD - Knowledge Engineering and Decision Support Research Center Institute of Engineering – Polytechnic of Porto (ISEP/IPP) Porto, Portugal {amd,iaspe,bmaca}@isep.ipp.pt Abstract. This paper presents the specification of an architecture for self- organizing scheduling systems. The proposed architecture uses learning by observing the expert’s and interpretation of scheduling experience. The design of intelligent systems that learn with experts is a very hard and challenging domain because current systems are becoming more and more complex and subject to rapid changes. In this work, different areas as Intelligent and Adaptive Human-Machine Interfaces, Metacognition and Learning from Observation, Self-managed Systems, amongst others, are joint together resulting in a global fully integrated architecture for self-organizing scheduling systems. Keywords: Scheduling, Self-Organizing Scheduling Systems, Learning from Observation, User Modeling. 1 Introduction Manufacturing planning and control address decisions on the acquisition, utilization and allocation of scarce manufacturing resources to satisfy customer needs and specifications in an efficient and effective way [1]. The scheduling problem can be seen as a decision making process where a diversity of characteristics and constraints related with tasks and manufacturing system resources can affect scheduling decisions. Resources include production facilities, labor and materials. Constraints include the availability of resources, due dates for the products, etc. A challenge is emerging in the design of scheduling support systems for manufacturing environments where dynamic adaptation and optimization become increasingly important incorporating expert’s knowledge. Despite the numerous advances in Human-Computer Interaction and Multi-Agent Systems [2-4], most development systems still require that users have substantial knowledge of procedural-programming techniques as well as the specific computer system at hand. The motivation of this work arises from the need of developing approaches that should be able to adaptively control, coordinate and optimize, addressing the several challenges presented on complex real-world problems. By using advanced algorithms,

Transcript of Specification of an Arquitecture for Self-Organizing ... · development of the user interface...

Page 1: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

Specification of an Arquitecture for Self-Organizing Scheduling Systems

Ana Madureira1, Ivo Pereira1, Bruno Cunha1

1 GECAD - Knowledge Engineering and Decision Support Research Center

Institute of Engineering – Polytechnic of Porto (ISEP/IPP) Porto, Portugal

{amd,iaspe,bmaca}@isep.ipp.pt

Abstract. This paper presents the specification of an architecture for self-organizing scheduling systems. The proposed architecture uses learning by observing the expert’s and interpretation of scheduling experience. The design of intelligent systems that learn with experts is a very hard and challenging domain because current systems are becoming more and more complex and subject to rapid changes. In this work, different areas as Intelligent and Adaptive Human-Machine Interfaces, Metacognition and Learning from Observation, Self-managed Systems, amongst others, are joint together resulting in a global fully integrated architecture for self-organizing scheduling systems.

Keywords: Scheduling, Self-Organizing Scheduling Systems, Learning from Observation, User Modeling.

1 Introduction

Manufacturing planning and control address decisions on the acquisition, utilization and allocation of scarce manufacturing resources to satisfy customer needs and specifications in an efficient and effective way [1].

The scheduling problem can be seen as a decision making process where a diversity of characteristics and constraints related with tasks and manufacturing system resources can affect scheduling decisions. Resources include production facilities, labor and materials. Constraints include the availability of resources, due dates for the products, etc.

A challenge is emerging in the design of scheduling support systems for manufacturing environments where dynamic adaptation and optimization become increasingly important incorporating expert’s knowledge. Despite the numerous advances in Human-Computer Interaction and Multi-Agent Systems [2-4], most development systems still require that users have substantial knowledge of procedural-programming techniques as well as the specific computer system at hand.

The motivation of this work arises from the need of developing approaches that should be able to adaptively control, coordinate and optimize, addressing the several challenges presented on complex real-world problems. By using advanced algorithms,

Page 2: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

modeling and services, it is intended that deciders make the right decision when and where it is crucial to the business. It is considered that the next generation of Decision Support Systems (DSS) will rely on collaborative intelligent Multi-Agent Systems for playing a fundamental role in actively searching and finding relevant information on behalf of their users in complex and open environments, such as the Web.

This paper describes the architecture of an Adaptive Decision Support System for Interactive Scheduling with Metacognition and User Modeling Experience (ADSyS). The architecture presented in this paper intends to overcome some of the limitations of DSS for Manufacturing Scheduling, by improving plan generation and execution from experience based on learning considering: (i) intelligent proactive interaction between the user and the system, which should support the users to access, manage, share and exchange information; (ii) active learning ability to learn from users and to infer their intentions. To achieve this goal, a user modeling was performed; (iii) adaptive optimization methods incorporating knowledge by user observation and reacting to perturbations from external environment.

The remaining sections are organized as follows: section 2 gives context of background and related work on this topic; section 3 presents the specification of the proposed architecture, describing each module; section 4 presents some conclusions and future work.

2 Background and related work

Scheduling is an important aspect of automation in manufacturing organizations. Most of scheduling domains are characterized by a great amount of uncertainty that leads to significant system dynamics [1]. Such dynamic scheduling is receiving increasing attention amongst both researchers and practitioners [5-7]. However, scheduling has still difficulties in real world situations and, hence, human intervention is required to maintain real-time adaptation and optimization.

At this point, for the specification of an architecture for self-organizing scheduling systems, we identify as relevant the following areas: Intelligent and Adaptive Human-Machine Interfaces, Metacognition and Learning from Observation, Self-managed Systems, amongst others.

2.1 Intelligent and Adaptive Human-Machine Interfaces

User interactive computer systems consist of two major elements: the computational (or functional) part and the communicational part (user interface) [8]. The first one is invisible to users and is the part that actually “does the job”, while the latter is responsible for communicating with humans. It processes their actions, triggers the appropriate system functions and provides users with informative feedback.

The role of user interfaces has not always been considered a major aspect to take into account when designing and developing interactive systems. Studies in the field of Human-Computer Interaction were incipient or nonexistent and consequently the

Page 3: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of who will actually use the system: the user.

However, the quality of the user interface is crucial to the success of computer applications [8]: for users, the interface is the system, i.e. constitutes the application’s face; communication with the system is at least as important as the computation; nowadays, the costs associated with the use of interactive computer systems are due less to hardware and software purchasing, and more to person ware.

In conclusion, the user should not have to adapt to the interface. On the contrary, the interface must be designed in a way that its use is easy and natural to the user. Moreover, the constructional principles that determine the development of the interface software should not interfere in any way with the interface design, which should be governed exclusively by behavioral criteria. The architecture proposed in this work takes this into account give a contribution to the literature.

2.2 Learning from Observation and Metacognition

Learning is the process of adapting behavior in response to events in the environment. Without learning, a system is limited by the ability of its designer to foresee all situations that might occur.

Learning from Observation [9] is a common and natural method of human learning. Learning from Observation refers to computer-based system learning from observations obtained from user demonstrations of a task. Some systems go further than imitation strategies and attempt to interpret the intent of users. The concept of inferring user intent is relatively new and few systems have incorporated the idea of Learning from Observation during the design process. The main motivation for incorporating Learning from Observation in dynamic scheduling is to find patterns that could improve the overall scheduling performance.

Learning from Observation needs the support of an efficient Human-Computer Interaction [8]. Mixed-initiative refer to methods that explicitly support an efficient, natural interleaving of contributions by users and automated services aimed at converging on solutions to problems [10]. Mixed-initiative approaches promise to enhance human-computer interaction by allowing computers to behave more like associates, able to work with users to develop a shared understanding of goals and to contribute to problem solving in the most appropriate way.

In this work we attempt to imitate this species behavior and incorporate Learning from Observation and Metacognition [11] into a Multi-Agent Scheduling System in order to improve the overall scheduling performance. The analogy with human vision will be incorporated in the system through an intelligent and interactive User Interface. We consider that human and computer intelligence must be combined to effectively solve the scheduling problem.

2.3 Self-managed Systems

Self–managed systems have the ability to manage them-selves and to dynamically adapt to change in accordance with evolving or dynamic business policies and

Page 4: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

objectives, allowing the addition and removal of resources/tasks with-out service disruption. This field of research has received much attention in Autonomic Computing paradigm [12].

The state of art of Autonomic Computing is to create self-managing computer systems that can configure, heal, optimize and protect themselves without the need for human intervention. Autonomic Computing is based on four self-* properties, in which research efforts may be categorized: Self-Configuring, Self-Healing, Self-Optimizing and Self-Protecting. This concept arises as the foundation for an efficient computing environment where efficiency is measured in terms of utilization, flexibility and scalability [12].

3 ADSyS System Architecture

2.UserModelingmodule

Bayesiannetwork

1.IntegratedIntelligentHMI

Requ

irem

entsdefinition

4.DynamicAdaptationmodule3.Multi-AgentScheduling System

MachineEditor

OrderSetEditor

TaskEditor

GanttChartEditor

Coordination

mod

ule Coordinator

Agent

ResourceAgent1

ResourceAgent2

ResourceAgentn

JobAgent1

JobAgent2

JobAgentn

Self-OptimizingAgent

Self-Configuring

Agent

Self-HealingAgent

a

c

b

d

eUser

Database

Database

Dynam

icadaptation

Predictivemodel

MachineLearningAlgorithms

Dynamicevents

Fig. 1. ADSyS global architecture.

Page 5: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

ADSyS is a Scheduling System in which communities of agents model a real manufacturing system subject to perturbations. Agents must be able to learn and manage their internal behavior and their relationships with other agents, by collaboration in accordance with business targets.

The proposed architecture considered in this paper consists of four main modules: the Integrated Intelligent Human-Machine Interface, the User Modeling module, the Multi-Agent Scheduling System, and the Dynamic Adaptation module. The system’s global architecture is illustrated in Fig. 1. The information flow between each system component is represented by arrows.

3.1 Integrated Intelligent Human-Machine Interface

The Integrated Intelligent Human-Machine Interface module allows the interaction between the user and the scheduling system. The user can define the requirements for the scheduling problem, by inputting data information into the system. The results visualization in Gantt charts and reports summary gives the user the possibility of interaction with Gantt charts, allowing the insertion of changes to scheduling plans with the performance improvement purpose and dynamic events incorporation.

The proposed interaction model supports Problem Definition, Optimization Techniques parameterization and Results Visualization. It includes the multi-view functionality, which allows the user to view/interact with the different interaction objects simultaneously (Fig. 2). This functionality represents an asset because in addition of being a technological innovation, it provides a mechanism to compare and validate different interaction objects. Since any interaction objects can be viewed on the different layouts, this provides the ADSyS system a high degree of flexibility and information.

Fig. 2. Integrated Intelligent Human-Machine Interface: multi-view functionality.

Page 6: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

Additionally, four interaction modules are considered: Task Editor, Machines Editor, Order Set Editor, and Gantt Chart Editor. They are responsible for the input data and requirements definition, i.e., for the specification of the scheduling problem and the visualization of scheduling results.

The Machine Editor purpose is to delineate the machines that are available during the operation definition. A machine is where the operations are processed. The number of machines is not restricted and they can be inserted and not utilized later, in the final plan. Machines are characterized by their identification and a description. The user is able to create, remove or modify any number of machines using this component. When the user finishes editing, the system provides feedback about some information that might be missing (e.g. missing description on one machine).

The Task Editor allows the user to create a new task or edit an existing one. An operation is the basic unit of a task, since a task is defined as a sequence of operations. It is provided the possibility for the user to view and edit a task routing. A routing consists of operations and precedence. The user defines the sequence in which operations must be performed. This sequence defines the order in which the operations should be executed. An operation may have another operation or a set of operations as precedent. Using this editor, the user is able to insert or remove operations and to define their sequence, amongst other options (e.g. copy previous operations and graph auto-alignment).

The Order Set Editor allows to create a new order set or edit an existing one. A task is the basic unit for the definition of an order set. The Order Set Editor function is to define and edit the problem, taking advantage of a graphical interactive tool.

The results of the scheduling module are provided to the user via a Gantt chart. The results are included in a tool that allows the user to see and edit the operations in the scheduling plan. The interaction gives the user the option to tune the plan reflecting his needs. The user can alter the plan by performing horizontal operation movements. The lateral transfers imply a modification of the position of an operation in the given machine, allowing the delaying or anticipation of an operation. When a movement is performed, the system does two validations: operation overlapping – two operations are not able to be executed at the same time by one machine - and task constraints – an operation is only executed after the task release date and once the corresponding (if any) preceding operation is finished.

More details about the human-machine interface can be found in [13].

3.2 User Modeling module

The proposed User Modeling module is responsible for modeling users with the objective of not only increasing the learning rate of new users but also improving the productivity of the more experienced ones. It consists in multiple components that cooperate in order to characterize and analyze user behavior, using the information gathered to provide a customized system experience, using proper helps and tips according to the type of user.

Although its foundation is laid on the collaboration of several smaller components, the most relevant constituents of the User Modelling module are the user classifier and the information capture unit. The information unit is responsible for detecting,

Page 7: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

capturing and understanding every interaction that the user has with the system. Some examples of the mentioned usage are the removal of planned tasks or going back and forth between scheduling operations (meaning a high degree of indecision). The user classifier is the mathematical structure responsible for attributing the user to one of three levels of expertise: beginner, intermediate or expert. The process is quit straightforward: the user captured information is fed to the user classifier and, in return, the level of expertise is the obtained output.

More details about the proposed User Modeling module (including how to prepare the user classifier) can be found in [14].

3.3 Multi-Agent Scheduling System

In the proposed Multi-Agent Scheduling System (Fig. 3) there are agents that represent tasks/jobs (Task Agents) and agents representing machines/resources (Resource Agents) in an industrial environment.

Fig. 3. ADSyS Multi-Agent Scheduling System.

The proposed model also considers a Coordinator Agent responsible for coordinating individual solutions obtained by each Resource Agent in order to obtain a global scheduling for the original problem. The ADSyS Multi-Agent System architecture is similar to AutodynAgents system [16], but the agents were enriched with additional behaviors, including learning from observation and experience.

Page 8: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

The Coordinator Agent is responsible for a permanent and fluid communication with the user. Besides being connected to the human-machine interface, this agent dynamically generates Task Agents, according to the number of tasks that comprise the scheduling problem. In the end, collects the solutions of each Resource Agent and validate these solutions applying a repair mechanism and a coordination mechanism (cooperation or negotiation) if necessary.

Task Agents, also known as Job Agents, are responsible for processing the necessary information about each task, i.e. preprocessing the scheduling problem data. This is the generation of the first and last processing times and allocation of machine operations to the respective Resource Agents.

Resource Agents are responsible for scheduling operations that require processing on the machine that they control. They implement intelligent optimization methods (Metaheuristics) such as Genetic Algorithms, Particle Swarm Optimization, Ant Colony Optimization, among others, in order to find the best combination of operations and then coordinates through cooperation/negotiation to improve the plans.

The model presented in Fig. 3 is able of self-management through the implementation of self-* agents: Self-Configuring Agent, Self-Optimizing Agent, and Self-Healing Agent.

The Self-Configuration Agent is responsible for monitoring the system to detect changes that affect the scheduling, allowing the system to dynamically adapt himself. It is responsible for coordinating the Dynamic Adaptation module.

The Self-Optimizing Agent is responsible for tuning the parameters of Metaheuristics, according to the problem the schedule. This agent detects the initial problem characteristics (number of tasks / machines, their precedences, operations and attributes, etc.) or a change detected by the Self-Configuration Agent, and automatically chooses the Metaheuristic to use, creating the self-parameterization. If there is a dynamic event, the parameters are changed at runtime. This tuning of the parameters is done through learning and experience, since it uses an hybrid module with Racing techniques and Case-based Reasoning (CBR). Each time a new problem (case) arises, the CBR uses past experience to define the Metaheuristic and parameters to use. If a new case was resolved, it is saved for future use [15].

The Self-Healing Agent gives the system the ability to detect deviations from normal conditions and proactively take steps to normalize, avoiding service disruptions. Since agents can fail for various reasons, this agent provides one or more backup states to secure storage for the reactivation of those who were lost or ingrown and have significant results, allowing the system to restart a previous point (and not from the start). With this agent, the system becomes stable, able to deal with any problems that may occur.

More details about this Multi-Agent Scheduling System can be found in [16].

3.4 Dynamic Adaptation module

To enhance the scheduling of manufacturing orders in dynamic environments, a self-organized integration mechanism (IM) module based on supervised learning techniques was used in order to allow scheduling systems to decide autonomously which IM should be used to incorporate new orders in the current scheduling plan.

Page 9: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

The Dynamic Adaptation module includes mechanisms for incorporating urgent tasks in the current scheduling plan. This module follows a supervised learning approach. In this way the system is able to proactively decide which IM to use.

The main aim of this machine learning approach is to create a classification model, where the input resources are mapped from the input variables to the output variable by a supervised classification algorithm. Fig. 4 illustrates the proposed machine learning approach.

ADSyS

Database

Predictivemodel

MachineLearningAlgorithms

Newcase

Unlabeleddata

Predictedlabel

Fig. 4. ADSyS Dynamic Adaptation module

This approach has three major components: a database, a machine learning algorithm and a predictive model. Any intelligent system requires a database/knowledge base to be trained and tested. The database contains the training data previously collected. These training data is then used as input to the training of machine learning algorithm that will produce the classifier. This classifier has the responsibility to provide the best IM to use in each problem to solve. A problem may be characterized by data relating to the current scheduling level and also information about the dynamic task.

More details about the proposed Dynamic Adaptation module can be found in [17].

5 Conclusions and future work

The specification of an architecture for self-organizing systems applied to the resolution of the scheduling problem was presented in this paper. The scheduling problem can be seen as a decision making process where a diversity of characteristics and constraints related with tasks and manufacturing system resources can affect scheduling decisions, and it is still considered a critical optimization problem.

The proposed architecture was applied in the ADSyS project and uses learning by observing the expert’s and interpretation of scheduling experience. In this work, different areas as Intelligent and Adaptive Human-Machine Interfaces, Metacognition and Learning from Observation, Self-managed Systems, amongst others, were joint together resulting in a global fully integrated architecture for self-organizing

Page 10: Specification of an Arquitecture for Self-Organizing ... · development of the user interface obeyed purely to constructional criteria, which, in general, do not match the needs of

scheduling systems. Four main modules were described: an Integrated Intelligent Human-Machine Interface, a User Modeling module, a Multi-Agent Scheduling System, and a Dynamic Adaptation module.

Future work include application of this architecture to real-world problems, with possible partnerships with industry. Acknowledgments. This work is supported by FEDER Funds through the “Programa Operacional Factores de Competitividade - COMPETE” program and by National Funds through FCT “Fundação para a Ciência e a Tecnologia” under the project: FCOMP-01-0124-FEDER- PEst-OE/EEI/UI0760/2014.

References

1. Pinedo, M., Scheduling: Theory, Algorithms, and Systems, Springer, 4th edition, 2012. 2. Boeres, C., Lima, A., Vinod, E., and Rebello, F., Hybrid Task Scheduling: Integrating

Static and Dynamic Heuristics. 15th Symposium on Computer Architecture and High Performance Computing, 199, 2003.

3. Monostori, L., Vncza, J. and Kumara, S., Agent based systems for manufacturing. Volume 55, pages 697–20, 2006.

4. Madureira, A., Pereira, I., Pereira, P., and Abraham, A., Negotiation mechanism for self-organized scheduling system with collective intelligence, Neurocomputing 132, 2014.

5. Aytug, H., Lawley, M.A., McKay, K. and Uzsoy, R., Executing production schedules in the face of uncertainties: A review and some future directions, European Journal of Operational Research 16 (1), pp. 86-100, 2005.

6. Blazewicz, J., Ecker, K. H., and Trystram, D., Recent advances in scheduling in computer and manufacturing systems, European Journal of Operational Research 164 (3), 2005.

7. Xhafa, F. and Abraham, A., Metaheuristics for scheduling in industrial and manufacturing applications series: Studies in computational intelligence. Volume 128, Springer, 2008.

8. Nielsen, J., Usability Engineering. AP Professional, 2003. 9. Michalski, R.S., Carbonell, J., and Mitchell, T., Machine learning: An artificial

intelligence approach, Springer Science & Business Media, 2013. 10. Ferguson, G. and Allen, J., Mixed-Initiative Dialogue Systems for Collaborative Problem-

Solving, AI Magazine 28(2):23-32, Special Issue on Mixed-Initiative Assistants, 2007. 11. Larson, C. B., Metacognition New Research Developments. Nova Science Publishers Inc,

ISBN: 9781606927809, 2009. 12. Kephart, J. and Chess, D., The Vision of Autonomic Computing, Computer 36, 2003. 13. Piairo, J., Madureira, A., Pereira, J. P., and Pereira, I., A user-centered interface for

scheduling problem definition, Advances in Information Systems and Technologies, 2013. 14. Cunha, B., Madureira, A., and Pereira, J. P., User modelling in scheduling system with

artificial neural networks, in 10th IEEE Iberian Conference on Information Systems and Technologies, 2015.

15. I. Pereira, Intelligent System for Scheduling Assisted by Learning, Ph.D. Thesis in Electrical and Computer Engineering, Department of Electrical and Computer Engineering, University of Trás-os-Montes and Alto Douro, (in portuguese), 2014.

16. Madureira, A. and Pereira, I., Intelligent bio-inspired system for manufacturing scheduling under uncertainties, 10th International Conference on Hybrid Intelligent Systems, 2010.

17. Madureira, A., Santos, J. M., Gomes, S., Cunha, B., Pereira, J. P., and Pereira, I., Manufacturing rush orders rescheduling: a supervised learning approach, Sixth World Congress on Nature and Biologically Inspired Computing, pp. 299-304, 2014.