Dynamic Constraint Models for Planning and Scheduling Problems

Size: px
Start display at page:

Download "Dynamic Constraint Models for Planning and Scheduling Problems"

Transcription

1 Dynamic Constraint Models for Planning and Scheduling Problems Roman Barták * Charles University, Faculty of Mathematics and Physics, Department of Theoretical Computer Science, Malostranske namesti 2/25, Praha, Czech Republic bartak@kti.mff.cuni.cz Abstract. Planning and scheduling attracts an unceasing attention of computer science community. However, despite of similar character of both tasks, in most current systems planning and scheduling problems are solved independently using different methods. Recent development of Constraint Programming brings a new breeze to these areas. It allows using the same techniques for modelling planning and scheduling problems as well as exploiting successful methods developed in Artificial Intelligence and Operations Research. In the paper we analyse the problems behind planning and scheduling in complex process environments and we propose to enhance the traditional schedulers by planning capabilities to solve these problems. We argue for using dynamic models to capture such mixed planning and scheduling environment. Despite of studying the proposed framework using the complex process environment background we believe that the results are applicable in general to other (nonproduction) problem areas where mixed planning and scheduling capabilities are desirable. 1 Introduction The real-life applicability and challenging complexity of planning and scheduling attract a high attention among researches in various areas of computer science. Traditionally, the planning and scheduling tasks are solved independently using different methods and technologies. The planning task deals with finding plans to achieve some goal, i.e., finding a sequence of activities that will transfer the initial world into one in which the goal description is true. Planning has been studied in Artificial Intelligence (AI) for years and the methods developed there, like the STRIPS representation [13] and Graphplan planning algorithm [7], are the core of many planning systems. Opposite to planning, the scheduling task deals with the exact allocation of activities to available resources over time respecting precedence, duration, capacity and incompatibility constraints [8]. Operations Research (OR) has a long tradition in studying scheduling problems and many successful methods to deal with the problem were developed there. Recently, Constraint Programming (CP) attracts a high interest among both planning and scheduling community because of its potential for declarative * Supported by the Grant Agency of the Czech Republic under the contract no. 201/99/D057.

2 description of problems with various real-life constraints. Constraint programming [2] is based on idea of describing the problem declaratively by means of constraints, logical relations among several unknowns (or variables), and, consequently, finding a solution satisfying all the constraints, i.e., assigning a value to each unknown from respective domain. It is possible to state constraints over various domains, however, currently probably more than 95% of all constraint applications deal with finite domains [18]. At the present time, scheduling is probably the most successful application area of CP [19] while application of CP to planning is not so spread [14]. The reason for this disproportion can be found in the conventional formulation of constraint satisfaction problem that expects all the elements, i.e., all the variables and all the constraints, to be specified in advance. This is not an obstacle in scheduling tasks where all the activities are known beforehand, however, the plans are highly variable and it is impossible to predict which activities will be used in which combinations. Also, in some problem areas like complex-process environments we do not know all the activities in advance and the appearance of the activity depends on allocation of other activities to resources. In such a case the scheduler needs to be enhanced by some planning capabilities. Naturally, this complicates the constraint model. In [4] we analysed the main features of static constraint models when applied to problems in complex-process environments and in [5] we proposed the mixed planning and scheduling framework that can be used to solve these problems. The paper [6] summarises the results and we formally describe the mixed planning and scheduling approach there. In this paper we survey dynamic constraint models for solving mixed planning and scheduling tasks. These models are applicable to scheduling tasks where generation of new activities during scheduling is required. We study expressiveness and efficiency of the models and we give a comparison of the models using the typical problems in complex-process environment. The described models were studied in VisOpt scheduling project [3] whose goal is to develop a generic scheduling engine for complex-process environments. Nevertheless, we believe that the results are applicable to other areas like transport problems and pure planning. The paper is organised as follows. In Section 2, we specify the problem area and we list the typical problems of complex-process environments there. In Section 3, we explain the similarities and differences of planning and scheduling tasks and we describe how to mix both planning and scheduling into single framework. Section 4 is dedicated to description of constraint modelling of scheduling problems. We classify the scheduling constraints there, describe the models of time and sketch the difference between representation of resources and tasks. In Section 5, we overview three dynamic constraint models for solving mixed planning and scheduling problems. The paper is concluded by some final remarks. 2 Problem Area The problem area that we deal with can be characterised as a complex process environment where a lot of complicated real-life constraints bind the problem variables. Typical examples of such environments can be found in plastic, petrochemical, chemical, pharmaceutical or food industries. The goal of the VisOpt

3 planning and scheduling project [3] is to develop a generic scheduling engine that can be customised easily for particular environment via the description of resources, demands, initial situation and required future situations. The problem domain can be described as a heterogeneous environment with several resources interfering with each other. Currently we are working with producers, movers and stores, later other resources like workers and tools will be added. The task is to generate (to plan) activities necessary to satisfy custom orders (and other marketing requirements) and to allocate (to schedule) the activities to resources over time. There exist alternative resources for processing the activity and some resources can handle several activities at a time (this is called batch processing). In case of batch processing, compatibility and capacity constraints restricting which products and in what quantities can be processed, i.e., produced, moved or stored together, must be considered. Also the order of activities processed by the resource is not arbitrary but the currently processed activity influences what activities can follow. Consequently, we must follow the transition patterns and assume the set-up times between the activities as well. The processing time is usually variable and there is defined a working time when the activities can be processed in resources. Alternative processing routes, alternative production formulas and alternative raw materials are other typical features of above mentioned industry areas. In addition to the core products it is possible to produce the by-products, typically during set-ups. The by-products should be used as a raw material in further production and there is a push to use them this way because they will fill-up the available storing capacity otherwise. Consequently we must schedule processing of by-products. During production of the core product some co-products may appear. The co-products can be used to satisfy other orders, they can be sold as an alternative to the ordered item or they can be processed further as a raw material. Again, processing of co-products must be scheduled as well because of limited capacity of warehouses where all the products are stored. Last but not least there is a possibility of cycling, i.e., processing the item for several times for example to change features of the item or just to clean up the store, and re-cycling, i.e., using of by-products and co-products as a raw material. Typically, the production in complex process environments is not driven by the custom orders only but it is necessary to schedule the production for store according to the factory patterns and the forecast. It means that the scheduler should handle some planning tasks as well. Raw material purchase Re-cycling silo group main processor temporal silo group secondary processors (alternatives) warehouse User demand Fig. 1. A complex-process environment with re-cycling In scheduling projects the users deal with finding no arbitrary schedule but an optimal schedule. Usually a makespan is used as the objective function [9,10,11]. The idea of

4 minimising the makespan, i.e., the maximum completion time of the activities, follows the assumption that shorter production time implies lower cost and lower cost implies higher profit. However, this is not necessarily true in many complex-process environments where expensive set-ups must be considered. Also, makespan may be used if all the activities are known in advance, but, again, this is not a case in many complex-process environments due to set-ups and production for store. Therefore in the VisOpt project the task is to schedule the most profitable production for fixed period of time (more precisely, we are looking for a schedule with good profit). The profit is measured here by the overall production cost and by the price for selling the products delivered according to the custom orders. The solved problem hardly fits into any category of typical scheduling problems as used by Operations Research (OR) because of many complex constraints that make it hard to be tackled by pure OR methods. It also does not fit into any basic category of CP scheduling problems due to dynamic character when new activities appear during scheduling. Perhaps, it is closest to the group of resource constrained project scheduling problems (RCPSP). RCPSP [11,12] is a generalisation of job shop scheduling [1] in which activities can use multiple resources, and resources can have capacity greater than one (more activities can be processed together). Nevertheless, the definition of RCPSP as well as of all other scheduling problems in CP expects the set of activities to be known before the scheduling starts. Unfortunately, this is not necessarily true in the complex-process environments where scheduling the activity to a particular resource or time may introduce new activities to the system. Typically, using alternative processing routes, by-products, co-products and production for store cause such behaviour. Using the foregoing planning phase provides a little help in such cases as we argue in the next chapter. 3 Planning vs. Scheduling Although, planning and scheduling tasks seems very similar, they are defined differently and different solving technology is used. We first overview a conventional definitions of planning and scheduling and survey the traditional solving technologies. Planning. The traditional AI planning tackles the problem of finding plans to achieve some goal, i.e., finding a sequence of activities that will transfer the initial world into one in which the goal description is true [16]. It means that a description of the initial world, the (partial) specification of the desired world and the list of available activities make the input of the planner. A solution is a sequence of activities that leads from the initial world description to the goal world description and it is called a plan. Conventional AI planning techniques use highly specific representation and algorithms but there is a pressure to use more general search frameworks like CP [14]. The advantage of such general framework is wider applicability and availability of ready-to-use methods. The specific features of a particular problem are then reflected at the modelling level only and not in the underlying search algorithms.

5 Scheduling. The traditional scheduling task deals with the exact allocation of activities to resources (or resources to activities) over time respecting precedence, duration, capacity, and incompatibility constraints [9]. The set of activities, the list of resources and the specification of the constraints make the input to the scheduler. The output of the scheduler consists of the exact allocation of the activities to the resources over time. Scheduling tasks are usually solved using techniques from OR and CP. Both frameworks expect the task to be specified fully in advance, i.e. all the problem variables and constraints must be known beforehand. Recently, new problem areas like complex-process environments use a partial specification of the problem that requires adding new variables and constraints during scheduling. In industrial life, the boundary between planning and scheduling is shifted and both tasks are more similar that could be a source of confusion. There is marketing planning that has nothing in common with the above described AI planning. The task of marketing planning is to prepare demands for production using the information about custom orders and market forecast. The output of marketing planning, the list of demands makes the input to production planning. The definition of production planning is closer to AI planning, the task is to prepare a plan of production using information like available stock, BOM (bill of materials) and demands. The plan consists of the list of activities that are usually assigned to factory departments. Finally, there is a production scheduling which allocates the activities from the production plan to available resource over time. Nevertheless, it is possible to introduce new activities during scheduling if necessary. As you see, the difference between production planning and production scheduling is fuzzier now; both tasks include generating of activities and their allocation to resources. The discrimination criterion is shifted to the resolution of resulting plan/schedule and to the different time horizon. While the production planning uses lower resolution (departments, days) and prepares plans for longer time period, the production scheduling prepares short-term high-resolution schedules (machines, minutes). The similarity of production planning and production scheduling brings us to the idea of using unified solving framework for both tasks. Nevertheless, there are other reasons to mix the planning and scheduling technologies. Marketing planner demands Production activities Production schedule planner scheduler Fig. 2. A traditional view of planning and scheduling in industry with separate modules Opposite to [17] and according to our experience we argue that in many current Advanced Planning and Scheduling (APS) systems the modules implementing the planner and the scheduler are independent. The separation of planning and scheduling is natural; the planner generates the activities and the scheduler allocates these activities to resources. However, there are also disadvantages of such decomposition

6 and these drawbacks become even more evident in some problem areas like complexprocess environments. First, backtrack from the scheduler to the planner is required if the clash 1 in the plan is found during scheduling or if the plan does not utilise the resources fully. Such backtracking is not desirable because it complicates the communication between the modules (the scheduler should inform the planner about the reason of backtrack) and it decreases the overall efficiency of the system. To restrict the number of backtracks we need a more informed planner that means the planner to use similar information about the resources like the scheduler. However, this suppresses the advantage of low-resolution of planning. Another possibility to avoid backtracking is to postpone planning decisions until all necessary information is available, i.e., to the scheduling phase. More informed planner can prevent clashes during scheduling but it is not able to prepare plans in the problem area where the appearance of the activity depends on allocation of other activities to resources. There are several examples of such behaviour in complex-process environments. First, there are special set-up activities that must be inserted between two production activities [15] to ensure set-up of the machine. Second, there is processing of by-products that appear typically during the set-ups. Some schedules omit handling of by-products but this could be dangerous if the by-products may fill-up the stores used for regular products. Next, there is recycling that is usually applied to by-products but it could be used with regular products as well, for example to clear the store. Finally, there is non-ordered production. In some sense, the production planner could generate activities for nonordered production but to prevent clashes it is more reasonable to postpone planning of non-ordered production until the scheduler provides information about spare resources and time. The discussions in the above paragraphs and sections justify our proposal of mixing the traditional planning and scheduling tasks into single framework. Briefly speaking, we suggest enhancing the traditional scheduler with some planning capabilities; in particular, we allow generating of activities by the scheduler. We call this enhanced scheduler simple a production scheduler. We expect to preserve the separate marketing planner that generates the basic demands for the production but the production scheduler is authorised to generate new activities for non-ordered production too. The production scheduler consists of the activity generator (former planner) that generates the activities and the activity allocator (former scheduler) that allocates the activities to the resources over time (almost) immediately. By attempting to allocate the activity to the resource after its introduction we can detect the clashes sooner as well as we can remove some alternatives via constraint propagation that restricts the domains of activity parameters. See Figure 3 for proposed structure of the mixed planning and scheduling system. The communication between the generator and the allocator is simple via single activities. The generator introduces activity to the system and asks the allocator to schedule it. The allocator influences the generation of further activities by restricting the domains of parameters for already introduced activities. It can also ask the 1 Clash may be caused by choosing the bad alternative during planning which prevents allocation of activities to available resources.

7 generator to introduce new activities explicitly, e.g., to generate set-ups, transitions, supplying or consuming activities, if the required activity is not present in the system. The generator is driven by the set of initial activities that can describe the initial situation as well as the future demands generated by the marketing planner. Also notice that depending on the resolution of the scheduling we can use the same production scheduler both for the production planning and for the production scheduling as described above. Naturally we use different activities and different resources for production planning and for production scheduling but the overall scheduling mechanism is the same. Production scheduler Activity generator demands activities allocation schedule Marketing planner Activity allocator Fig. 3. A general framework for mixing planning and scheduling 4 Constraint Modelling In general, it is a good design principle to create a declarative and thus transparent model of the problem. All entities are described initially with the constraints that define their nature and the relationships between them. The search code is kept separate from this declarative model. Constraint Programming has a big advantage over other frameworks in declarative modelling capabilities. Some researches even claim that Constraint programming represents one of the closest approaches computer science has yet made to the Holy Grail of programming: the user states the problem, the computer solves it [E. Freuder, Constraints, April 1997]. The modelling capabilities of CP are really fascinating and the constraint models are very close to description of real-life problems. This simplifies the maintenance of the models as well as introduction of domain dependent heuristics necessary to solve large-scale problems. However, designing a stable constraint model that can be used to solve real-life large-scale problems is also the biggest challenge of current CP. Scheduling is typical application area of constraint programming and several standard constraint models to tackle scheduling problems can be identified. In this section we survey the features of these models that must be taken in account when deciding about the model for particular problem area.

8 Constraint Classification The constraints appearing in scheduling applications can be classified into several groups. We classify the constraints using their role in the scheduling problem into three categories: resource, transition and dependency constraints. Such categorising helps in choice of the right constraint model because different models handle better the constraints from different categories. Thus, we may choose the appropriate model more easily using the information about the spread of constraints in the proposed categories. We concentrate on solving scheduling problems in complex-process environments here but we believe that such environments represent the typical problems in most scheduling applications. Thus we suppose that the proposed classification can be applied to other scheduling areas as well. Resource constraints. The resource constraints describe the limits of the resource in single time point. Typical example of resource constraint is the capacity constraint stating how many activities can be processed in parallel or how many items can be stored together etc. Compatibility (incompatibility) constraint is another example of the resource constraint. The compatibility constraint states what activities can be processed together, i.e., what activities/items are compatible. While the capacity constraint is a quantity type constraint (how many?), the compatibility constraint can be seen as a quality type constraint (what?). In many traditional scheduling problems the resource constraints are very simple, e.g., when single-capacity resources are used only. However, they are important when multiple-capacity resources like stores or batch processors are modelled. This is the case of complex-process environments. Transition constraints. The transition constraints still restrict variables describing single resource but opposite to resource constraints they bind variables from different time points. Typically, these constraints specify what future situations may follow the current situation. For example we may describe transitions between activities (thus transition constraints) and insertion of set-up activities using these constraints. The transition constraints are typical for complex-process environments with many set-ups but they do not appear in many other scheduling problems. Dependency constraints: The resources in a typical scheduling problem are hardly independent so in the model we must also describe the relations between resources. We call such relation a dependency constraint. The dependency constraints bind variables describing different resources at perhaps different time points. A typical example of the dependency in production scheduling is a supplier-consumer dependency. It specifies the relation between the activity supplying an item and the activity consuming the item. In other problems we may require two activities to be processed in parallel by two resources, for example two lecturers teach two equivalent courses in parallel etc. The dependency constraints are typical for many scheduling problems as they describe the relations between activities belonging to single task. Nevertheless, in

9 problem areas like complex-process environments they may bind activities from different tasks as well. Naturally, the above presented constraint classification depends on what objects are chosen as resources. In complex-process environments we use several resources like producers, movers and stores but it is also possible to add other resource types like workers and budget. resource constraint transition constraint resource s dependency activity time Fig. 4. Constraint categories in Gantt chart Modelling of Time Both planning and scheduling deal with time as one of the parameters. Therefore modelling of time is necessary in most planning and scheduling applications. In general we may distinguish between two different views of time: discrete time and even-based time. Discrete Time. Perhaps the easiest way how to model time is to divide the time-line into sequence of discrete intervals with same duration. We call such intervals time slices. The duration of a time slice defines the resolution of the plan/schedule. It is expected that the behaviour of the resource within the time slice is homogenous, i.e., important events like activity change appear in the time point between two time slices only. Consequently, if we model activities using discrete time then the duration of the time slice must respect the duration of all the activities. More precisely, the duration of time slice must be a common divisor of duration of all activities 2. If we work with activities that have not restrictions about their start and completion time then this requirement may lead to huge number of time slices (high resolution) even if the duration of activities is long (low resolution). Therefore, discrete time model is used mostly in timetabling applications where the time slices are specified directly by the problem area (like shifts in hospitals). In discrete time model the variables describe the situation either it the time points or at the time slices. 2 We must synchronise the time slices in all resources (because of dependency constraints); thus the duration of all activities in all resources should be assumed.

10 Event-based Time. Another view of time line may capture only the important time points, so called events, when something changes in the resource. We may either say that the duration between two consecutive events defines the activity or that the border between two consecutive activities is called an event. Therefore we speak about event-based time or activity based models. In models that use event-based time we describe the situation of the resource by the processed activity. Each activity is characterised by a chunk of variables that should include the start time and the completion time (or duration) of the activity as well as the resource where the activity is processed. Even-based view of time is preferable over discrete time when the density of events is not very large in comparison with the density of time points, i.e. when the ratio between the activity duration and the duration of time slice is large. Activity resources empty Production (item1) Set-up Production (item 2) Storing (item 1) Storing (items 1&2) No production Start-up Production (item4) Event Time point Time slice time Fig. 5. Discrete time vs. event-based time in Gantt chart Task vs. Resource Models Final criterion that we use to distinguish between constraint models is the primary organisation of elements in the model. In particular we mean organisation of activities but we can organise time slices this way too. We distinguish between two main categories: grouping of activities per task or per resource [8]. Task-centric models. In many scheduling problems the activities are organised into tasks where the task is defined by a group of activities that must be processed to solve the task. In production scheduling the task corresponds typically to custom order. In such case we speak about a production chain that defines the track of the items through the factory starting from raw material and finishing with the final product. Note that by the production chain we mean not only a sequence of activities but also a tree of activities or other graph structure (typically with a partial order defined among activities). The design of the production chain is a planning task while allocating of activities in the chain to available resources is a scheduling task. In the task-centric models that are currently dominant in CP scheduling, the dependency constraints are preferred to resource and transition constraints. We mean that it is easier to express dependency constraints in such models (they describe the timing between activities from single task typically) and it is more complicated to

11 express resource and transition constraints a priory because they are dependent on allocation of activities to resources. The task-centric model is appropriate for problem areas where we know all the tasks in advance and we know how to decompose the tasks into activities. However, in complex process environments, there exist typical problems like set-ups, re-cycling and non-ordered production that make the task-centric model less applicable. Resource-centric models. Orthogonal to the task-centric model is the resourcecentric model where the activities are organised per resources. In this model, we do not assign the activities to available resources but we order the activities in single resource in such a way that all the constraints be satisfied. In this model we describe the structure of the factory and capabilities of resources rather than particular tasks. The activities belonging to the task are grouped implicitly during the scheduling using the dependency constraints. Thus, the resource-centric model is re-usable for different sets of tasks so the same model can be applied to various sets of demands (tasks). Resource-centric model concentrates on expressing the resource and transition constraints because we know which activities belong to given resource. The dependency constraints are used to synchronise the resources and their appearance depends on ordering of activities in the resources. The resource-centric model is appropriate in problem areas with mixed planning and scheduling. In this model it is natural to generate activities during the scheduling so there is no problem with set-ups, re-cycling or non-ordered production. We described the classification of models via grouping activities per task or per resource but the same classification can be applied to time points/slices as well. However, when discrete time models are used, the task should be linear because otherwise it is more complicated to model the task using single time line. Production Set-up Production Production Production resources empty Start-up empty Storing Storing Production Storing Storing Set-up empty empty Production Production storing time Fig. 6. Gantt chart is closer to the resource-centric model but we can identify the grouping per task there too 5 Dynamic Models Conventional Constraint Satisfaction Problem (CSP) is defined statically; i.e., all the variables and all the constraints are specified in advance. Most methods for solving problems defined as CSP expect such static structure and they follow the schema:

12 1. Introduce variables. 2. Post constraints among the variables. 3. Label the variables respecting the constraints. The main difference between constraint satisfaction algorithms is in the labelling method; either they are extending a partial consistent labelling to a complete consistent labelling using constraint propagation or they are searching the space of complete (but inconsistent) labellings till the consistent labelling is found. Because of static nature of constraint models, the task-centric model is usually preferred over the more dynamic resource-centric model. Unfortunately, as we described in Sections 2 and 3, to model complex-process environments we need some planning capabilities within the scheduler and this requires dynamic character of the constraint model when new entities (activities, constraints) are introduced during scheduling 3. In the following paragraphs, we describe three main constraint models used in scheduling and propose how these models can be extended to solve typical problems in complex-process environments. Time-Line Model Time-line model is a general method of describing dynamic processes using discrete time intervals and grouping time slices per resource. As mentioned in the previous section, it is possible to combine discrete time with grouping slices per task too. However, this combination is rarely used because it requires linear tasks only. Therefore we use discrete time and grouping per resource only in the following paragraphs. Such time-line model describes the factory in general because it concentrates on specification of resources and it is independent on particular set of tasks. Variables. We describe the situation of the resources at each time slice (time point) using a chunk of variables. These variables may specify the processed activity, the quantity of stored items etc. We may use a unified description of each time slice for the resource, i.e., each time slice for given resource is described using the same set of variables. Another possibility is to generate (some) variables in time slices dynamically, e.g., in case of store we may introduce variable for item s quantity when we know that the item is stored in given time slice. By distributing the variables into static and dynamic groups we may preserve the propagation power of constraints (see next paragraph) while keeping the memory consumption low. A good strategy is to define variables present in all time slices for given resource as static (like the variable specifying the activity) while the variables whose appearance depends on value of other (static) variables as dynamic (like the quantity of processed item). Remind that we are scheduling a fixed time period so we know the number of time slices. Consequently we know all the static variables in advance and we can also 3 We may use the static model to solve planning problems as well [4]. However, in such models all the possibilities must be captured which makes the model huge. This is because many variables are introduced to describe all the possible situations, but only few of then are really used. Also expressing of constraints is much more complicated and the value propagation is not so strong via such constraints.

13 deduce their allocation in time. This simplifies capturing of the initial situation of resources as well as capturing of the required future situations via setting the value or restricting the domain of variables. Constraints. The knowledge about (static) variable structure enables us to introduce resource and transition constraints in advance and to exploit the power of constraint propagation. Resource constraints bind variables in single time slice and transition constraints bind variables from consecutive time slices. If any dynamic variable is included in the constraint then the constraint is posted as soon as all such variables are introduced to the system. There remain the dependency constraints that express the supplier-consumer relation between resources. Thus these constraints bind variables from different time slices of different resources. The dependency constraints have dynamic nature here as their appearance depends on values of some variables. In particular, we may introduce the dependency constraint when we know the processed items and the appearance of the processed items depends on activity at time slice. Planning. The role of the activity generator (the planning module) is shifted a bit in the time-line model because, in fact, we do not generate activities here. The activity is introduced simply by assigning a value to the activity variable at the time slice. The planning module in the time-line model is responsible for introduction of dynamic elements, in particular dependency constraints. Complex-process Environments. The time-line model is a very general model that is able to capture all the problems in complex-process environments as presented in Section 2. The problems like by-products, re-cycling, non-ordered production or alternatives are modelled naturally here. Unfortunately, the size of the model is very large when applied to real-life large-scale problems. This is caused by the formula for computing the slice duration using the duration of all the activities (see previous section). In particular, even if the duration of activities is, say 60 and 61 minutes then the duration of the time slice is still 1 minute (greatest common divisor of activities duration). Therefore many variables are redundant and, thus, we do not expect very good efficiency from this model when applied to complex-process environments. Task-centric Model A traditional constraint model for scheduling problems in the CP framework uses event-based time, i.e., activities, and grouping of activities per task. We call this model simply a task-centric model. This model is very popular among the scheduling community because of its static nature; all the elements are known in advance. Also, typically the resource constraints are very simple here and there are no transition constraints. Unfortunately, this is not the case in the complex-process environments so we propose here how to extend the conventional task-centric model to solve some of the problems in such environments.

14 Activities and variables. In the task-centric model, activities are used to describe the behaviour of resources. Each activity is specified by a chunk of variables that include the start and completion time of the activity (or duration) and the variable specifying the resource to which the activity is allocated. In the static representation, we have the description of all activities in advance, but in complex-process environments we need to introduce activities during scheduling. There are two ways how to establish such dynamic behaviour. First, we may use a fully dynamic representation where the activities are generated by the planning module. Second, we may estimate the maximal number of activities per task and instead of using the fixed activities we propose to use a shell for activity, i.e., we extend the variable set in the shell by the variable for activity. By assigning a value to this variable we fill the shell by the activity. We prefer this second alternative, called semi-dynamic representation, because it preserves the advantages of the static representation, i.e., constraint propagation, and it is almost as powerful as the fully dynamic representation 4. Fully dynamic representation generated Semi-dynamic representation filled chaining constraints generated filled shells candidates to fill the shells Fig. 7. In the fully dynamic representation (left), the planning module generates activities using the structure of all alternative production chains. In the semi-dynamic representation (right), the task of the planning module is to fill the prepared shells by activities using the chaining constraints (dotted lines). Constraints. In the task-centric model it is easy to express the dependency constraints between activities of single task. Usually, these constraints express precedence between activities of the task, i.e., which activities must be completed before another activity starts. Using fully dynamic or semi-dynamic representation complicates a bit expressing of these constraints because we do not know the activities in shells. In such case, the constraints are posted as soon as the activity variable is assigned. In dynamic and semi-dynamic representations we may use another type of dependency constraint that binds activity variables. These constraints define the 4 In fully dynamic representation, the number of activities in the task is not restricted at all; the decision about the activities is up to the planning module. In semi-dynamic representation we must decide about the maximum number of activities per task in advance which may complicate modelling of cycling and re-cycling.

15 allowed production chains; in particular they are used to restrict the alternatives if some activity is known. Let s call these constraints chaining constraints. Finally, there are resource and transition constraints that bind activities from different tasks. Again, these constraints are dynamic; i.e. they are introduced during scheduling when we know the allocation of activities to resources (when resource and time variables are assigned). Planning. Dynamic representation of task-centric model is a nice example of mixed planning and scheduling framework; the planning module introduces activities that are allocated by the scheduling module. During planning we use the information from chaining constraints. Semi-dynamic representation can exploit the chaining constraints even more because the constraints reduce the domains of activity variables automatically via constraint propagation. The planning module is also responsible for introduction of resource and transition constraints. In particular, it must identify the activities from different tasks that should be connected using these constraints. The planning module also decides about inserting special set-up activities. Complex-process Environments. The semi-dynamic representation was proposed with respect to solve typical problems in complex-process environments. There is no problem with alternative production chains in single task; the planning module chooses the alternative by filling the shells during scheduling. As already mentioned, there is also no problem to use set-ups. We may simply include a set-up activity among other activities in the production chain [15]. We must just be careful to which production chain (task) the set-up activity is included. Typically, the set-up is inserted between two activities from different tasks. If there are no by-products then we may include it to the production chain of the second activity (or the first one, it does not matter). However, if any by-product is produced during the set-up then we recommend including the set-up activity to the production chain where the by-product is consumed. In case of co-products, we need even more advanced mechanism of sharing activities by two tasks. It is the responsibility of the planning module to identify the shared activities. Finally, there is a non-ordered production. Unfortunately, to schedule non-ordered production we need to introduce new tasks during scheduling. This is not allowed in the semi-dynamic representation or we must prepare empty tasks in advance to be filled by activities of non-ordered production. The task-centric model is perfect for environments driven by orders where the tasks do not interleave too much. Also, the resource and transition constraints should not be too complicated. Even after enhancing the model, the capabilities of the taskcentric model to solve problems in complex-process environments are limited. Resource-centric Model Like the task-centric model, the resource-centric model uses event-based time but now the activities are grouped per resource. Therefore this model is closer to the description of real factory and it is independent of particular set of tasks.

16 We may use a static representation of this model when all the activities in the resource are known in advance. In such case the scheduling task is to order the activities in the resource respecting all the constraints. Naturally, the expressiveness of the static representation is not very high and a dynamic representation is more natural for this model. Resource-centric model is orthogonal to the task-centric model so many techniques are shared between the models. However, we shall show that the resource-centric is more appropriate for complex-process environments as it can solve the typical problems in these environments more naturally. Activities and variables. Again, we describe the behaviour of each resource using activities and each activity is specified by a chunk of variables. These variable include the start and completion time (or duration), the process quantity and the links to dependent activities. Notice that we do not need a variable for resource because the activities are grouped per resource but we need links to supplying and consuming activities for dependencies. Like in the task-centric model we may use either a fully dynamic representation where the activities are generated during scheduling by the planning module or a semi-dynamic representation with shells. In case of semi-dynamic representation, the upper estimate of the number of activities per resource must be computed. Remind that the scheduled period is fixed so we may compute this upper estimate using the scheduler duration and the duration of activities (the shortest activity). Opposite to the task-centric model where this upper estimate may restrict the number of cycles, there is no restriction when the semi-dynamic representation is used here. Because the semi-dynamic representation exploits the power of constraint propagation, we prefer this representation here. Constraints. In the resource-centric model, it is easy to express the resource and transition constraint because we know which activities belong to the resource. In fact, we have the sequence of shells per resource and the resource and transition constraints are used to restrict the domains of activity variables. There remain the dependency constraints that bind variables from activities of different resources. These constraints are dynamic; i.e. they can be introduced when we know the allocation of activities to shells. Note that even if we know the activity in the shell, it is not easy to identify the dependent activities because the shells in other resources may not be filled yet and they may not be allocated in time. Planning. In the semi-dynamic representation, the role of the planning module is shifted from generating activities to introducing dynamic constraints. In particular, the planning module is responsible for finding dependent activities, i.e., grouping activities per task. We may post the dependency constraints early when the activities in the shells are not known exactly and when the allocation of shells in the time is not precise. In this case a lot of potential connections is generated but only one of them will be selected later to form the dependency. This approach is close to the static representation. Another approach is to identify the exact dependent activity by the planning module. The disadvantage is that if we find latter that the chosen activity is wrong we must backtrack to find another dependent activity. We propose something

17 in-between; i.e. we post the dependency constraints when we know the activity in one of the dependent shells. During posting the dependency constraints, the planning module uses the information about tasks to be scheduled. We mean, that the activities in the shells and the dependencies are not chosen randomly to satisfy the constraints but the planner prefers the activities to satisfy the demands. Complex-process Environments. The resource centric model has similar capabilities like the presented time-line model in modelling problems of complex-process environments. There is no difficulty to model set-ups and because the dependencies are generated during scheduling, there is no problem with by-products or co-products. Because the production chains (tasks) are not specified explicitly in advance we may choose the alternatives during scheduling. Finally, the scheduling is driven by user demands but we can introduce activities for non-ordered production without any difficulty. The resource-centric model exceeds the task-centric model in problem areas with complicated resource and transition constraints and where scheduling of non-ordered production is required. Depending on the resolution of resulting schedule, it has lower memory consumption than the time-line model but it is also a bit complicated to express the constraints here. We believe that in general, the resource-centric model is the best model for complex-process environments. 6 Concluding Remarks In the paper we give a survey of constraint models for scheduling problems and we proposed how to extend these models by adding some planning capabilities. This extension was motivated by real-life problems in the area of complex-process environments. We highlighted several such problems that are too complicated for traditional methods and we show that the mixed planning and scheduling framework can capture these problems. We analyse the basic techniques of constraint modelling in scheduling problems and we studied three different constraint models. We argue for using a dynamic representation that prevails over the conventional static representation in areas where appearance of the activity depends on allocation of other activities to resources. Also, the dynamic representation makes the model more transparent and simplifies the constraints. As a result, we choose the resource-centric model that balances the efficiency and expressive power when applied to large-scale problems in complex-process environments. The methods proposed in the paper are currently verified in the implementation of generic scheduling engine for complex-process environments. This engine is being developed within the VisOpt scheduling project for InSol Ltd. Acknowledgements Author s work is supported by the Grant Agency of the Czech Republic under the contract number 201/99/D057 and by InSol Ltd. I would like to thank Yossi Rissin

Dynamic Constraint Models for Planning and Scheduling Problems

Dynamic Constraint Models for Planning and Scheduling Problems Dynamic Constraint Models for Planning and Scheduling Problems Roman Barták * Charles University, Faculty of Mathematics and Physics, Department of Theoretical Computer Science, Malostranske namesti 2/25,

More information

Slot Models for Schedulers Enhanced by Planning Capabilities

Slot Models for Schedulers Enhanced by Planning Capabilities Slot Models for Schedulers Enhanced by Planning Capabilities Roman Barták * Charles University, Faculty of Mathematics and Physics Department of Theoretical Computer Science Malostranske namesti 2/25,

More information

Visopt ShopFloor: On the edge of planning and scheduling

Visopt ShopFloor: On the edge of planning and scheduling Visopt ShopFloor: On the edge of planning and scheduling Roman Barták * Charles University in Prague, Faculty of Mathematics and Physics Malostranské námestí 2/25 118 00 Praha 1, Czech Republic bartak@kti.mff.cuni.cz

More information

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints

Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Validating Plans with Durative Actions via Integrating Boolean and Numerical Constraints Roman Barták Charles University in Prague, Faculty of Mathematics and Physics Institute for Theoretical Computer

More information

Modelling Planning and Scheduling Problems with Time and Resources *

Modelling Planning and Scheduling Problems with Time and Resources * Modelling Planning and Scheduling Problems with Time and Resources * ROMAN BARTÁK Department of Theoretical Computer Science and Mathematical Logic Charles University in Prague Malostranské námestí 2/25,

More information

Constraint-Based Scheduling: An Introduction for Newcomers

Constraint-Based Scheduling: An Introduction for Newcomers Constraint-Based Scheduling: An Introduction for Newcomers Roman Barták * Charles University in Prague, Faculty of Mathematics and Physics Malostranské námestí 2/25, 118 00, Praha 1, Czech Republic bartak@kti.mff.cuni.cz

More information

A New Algorithm for Singleton Arc Consistency

A New Algorithm for Singleton Arc Consistency A New Algorithm for Singleton Arc Consistency Roman Barták, Radek Erben Charles University, Institute for Theoretical Computer Science Malostranské nám. 2/25, 118 Praha 1, Czech Republic bartak@kti.mff.cuni.cz,

More information

Constraint Programming

Constraint Programming Constraint In Pursuit of The Holly Grail Roman Barták Charles University in Prague Constraint programming represents one of the closest approaches computer science has yet made to the Holy Grail of programming:

More information

CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS. Roman Barták

CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS. Roman Barták In Proceedings of 7th IFAC Workshop on Intelligent Manufacturing Systems (IMS 2003), Elsevier Science, 2003 (to appear). CONSTRAINT-BASED SCHEDULING: AN INTRODUCTION FOR NEWCOMERS Roman Barták Charles

More information

SEEKING THE ACTUAL REASONS FOR THE "NEW PARADIGM" IN THE AREA OF IS ANALYSIS 2. GENERAL CHARACTERISTICS OF THE "STRUCTURED APPROACH" IN IS DEVELOPMENT

SEEKING THE ACTUAL REASONS FOR THE NEW PARADIGM IN THE AREA OF IS ANALYSIS 2. GENERAL CHARACTERISTICS OF THE STRUCTURED APPROACH IN IS DEVELOPMENT SEEKING THE ACTUAL REASONS FOR THE "NEW PARADIGM" IN THE AREA OF IS ANALYSIS Václav Řepa Prague University of Economics, W.Churchill sq. 4, 130 00 Praha 3, Czech Republic E-mail: REPA@VSE.CZ 1. INTRODUCTION

More information

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN

NOTES ON OBJECT-ORIENTED MODELING AND DESIGN NOTES ON OBJECT-ORIENTED MODELING AND DESIGN Stephen W. Clyde Brigham Young University Provo, UT 86402 Abstract: A review of the Object Modeling Technique (OMT) is presented. OMT is an object-oriented

More information

Abstract Path Planning for Multiple Robots: An Empirical Study

Abstract Path Planning for Multiple Robots: An Empirical Study Abstract Path Planning for Multiple Robots: An Empirical Study Charles University in Prague Faculty of Mathematics and Physics Department of Theoretical Computer Science and Mathematical Logic Malostranské

More information

MODELLING AND SOLVING SCHEDULING PROBLEMS USING CONSTRAINT PROGRAMMING

MODELLING AND SOLVING SCHEDULING PROBLEMS USING CONSTRAINT PROGRAMMING Roman Barták (Charles University in Prague, Czech Republic) MODELLING AND SOLVING SCHEDULING PROBLEMS USING CONSTRAINT PROGRAMMING Two worlds planning vs. scheduling planning is about finding activities

More information

From Enterprise Models to Scheduling Models: Bridging the Gap

From Enterprise Models to Scheduling Models: Bridging the Gap From Enterprise Models to Scheduling Models: Bridging the Gap Roman Barták 1, James Little 2, Oscar Manzano 2, Con Sheahan 3 1 Charles University in Prague, Faculty of Mathematics and Physics Malostranské

More information

A CSP Search Algorithm with Reduced Branching Factor

A CSP Search Algorithm with Reduced Branching Factor A CSP Search Algorithm with Reduced Branching Factor Igor Razgon and Amnon Meisels Department of Computer Science, Ben-Gurion University of the Negev, Beer-Sheva, 84-105, Israel {irazgon,am}@cs.bgu.ac.il

More information

LibRCPS Manual. Robert Lemmen

LibRCPS Manual. Robert Lemmen LibRCPS Manual Robert Lemmen License librcps version 0.2, February 2008 Copyright c 2004 2008 Robert Lemmen This program is free software; you can redistribute

More information

Chapter 2 Overview of the Design Methodology

Chapter 2 Overview of the Design Methodology Chapter 2 Overview of the Design Methodology This chapter presents an overview of the design methodology which is developed in this thesis, by identifying global abstraction levels at which a distributed

More information

A METHOD TO MODELIZE THE OVERALL STIFFNESS OF A BUILDING IN A STICK MODEL FITTED TO A 3D MODEL

A METHOD TO MODELIZE THE OVERALL STIFFNESS OF A BUILDING IN A STICK MODEL FITTED TO A 3D MODEL A METHOD TO MODELIE THE OVERALL STIFFNESS OF A BUILDING IN A STICK MODEL FITTED TO A 3D MODEL Marc LEBELLE 1 SUMMARY The aseismic design of a building using the spectral analysis of a stick model presents

More information

Kanban Size and its Effect on JIT Production Systems

Kanban Size and its Effect on JIT Production Systems Kanban Size and its Effect on JIT Production Systems Ing. Olga MAŘÍKOVÁ 1. INTRODUCTION Integrated planning, formation, carrying out and controlling of tangible and with them connected information flows

More information

Practical Capacity Planning in 2010 zaap and ziip

Practical Capacity Planning in 2010 zaap and ziip Practical Capacity Planning in 2010 zaap and ziip Fabio Massimo Ottaviani EPV Technologies February 2010 1 Introduction When IBM released zaap (2004) and ziip(2006) most companies decided to acquire a

More information

Research Collection. Approaches to data modelling in GIS. Conference Paper. ETH Library. Author(s): Mitášová, Irena; Niederöst, Jana; Hájek, Milan

Research Collection. Approaches to data modelling in GIS. Conference Paper. ETH Library. Author(s): Mitášová, Irena; Niederöst, Jana; Hájek, Milan Research Collection Conference Paper Approaches to data modelling in GIS Author(s): Mitášová, Irena; Niederöst, Jana; Hájek, Milan Publication Date: 1996 Permanent Link: https://doi.org/10.3929/ethz-a-004331855

More information

communications and software

communications and software 1 Computer systems, communications and software 1.1 Components of a computer system and modes of use A computer system is made up of hardware and flow of data and information. The storage device is both

More information

One of the most important areas where quantifier logic is used is formal specification of computer programs.

One of the most important areas where quantifier logic is used is formal specification of computer programs. Section 5.2 Formal specification of computer programs One of the most important areas where quantifier logic is used is formal specification of computer programs. Specification takes place on several levels

More information

Knowledge representation Semantic networks and frames

Knowledge representation Semantic networks and frames Knowledge representation Semantic networks and frames CmSc310 Artificial Intelligence 1. Introduction: What is knowledge? The science that studies various issues about knowledge is called epistemology.

More information

CS 4100 // artificial intelligence

CS 4100 // artificial intelligence CS 4100 // artificial intelligence instructor: byron wallace Constraint Satisfaction Problems Attribution: many of these slides are modified versions of those distributed with the UC Berkeley CS188 materials

More information

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70

ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design. Submitted by, Roll Numbers:-49-70 ASSIGNMENT- I Topic: Functional Modeling, System Design, Object Design Submitted by, Roll Numbers:-49-70 Functional Models The functional model specifies the results of a computation without specifying

More information

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming

Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Computer Science Journal of Moldova, vol.13, no.3(39), 2005 Concept as a Generalization of Class and Principles of the Concept-Oriented Programming Alexandr Savinov Abstract In the paper we describe a

More information

Lesson 08 Linear Programming

Lesson 08 Linear Programming Lesson 08 Linear Programming A mathematical approach to determine optimal (maximum or minimum) solutions to problems which involve restrictions on the variables involved. 08 - Linear Programming Applications

More information

FCS 2013 USER S MANUAL. F i n i t e C a p a c i t y S c h e d u l i n g. Microsoft Dynamics NAV

FCS 2013 USER S MANUAL. F i n i t e C a p a c i t y S c h e d u l i n g. Microsoft Dynamics NAV FCS 2013 F i n i t e C a p a c i t y S c h e d u l i n g USER S MANUAL Microsoft Dynamics NAV Contents 15.4.1. Mark PO... 28 15.4.2. Setting a PO... 29 15.4.3. Go forward to the maximum... 29 15.4.4. Split/Group

More information

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems

Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Some Applications of Graph Bandwidth to Constraint Satisfaction Problems Ramin Zabih Computer Science Department Stanford University Stanford, California 94305 Abstract Bandwidth is a fundamental concept

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems In which we see how treating states as more than just little black boxes leads to the invention of a range of powerful new search methods and a deeper understanding of

More information

Conflict-based Statistics

Conflict-based Statistics Conflict-based Statistics Tomáš Müller 1, Roman Barták 1 and Hana Rudová 2 1 Faculty of Mathematics and Physics, Charles University Malostranské nám. 2/25, Prague, Czech Republic {muller bartak}@ktiml.mff.cuni.cz

More information

Structural Advantages for Ant Colony Optimisation Inherent in Permutation Scheduling Problems

Structural Advantages for Ant Colony Optimisation Inherent in Permutation Scheduling Problems Structural Advantages for Ant Colony Optimisation Inherent in Permutation Scheduling Problems James Montgomery No Institute Given Abstract. When using a constructive search algorithm, solutions to scheduling

More information

On the Problems of Centralized Security Management

On the Problems of Centralized Security Management Abstract On the Problems of Centralized Security Management Petr Ogrocki petr.ogrocki@vabo.cz Department of communication systems management Military Academy Brno, Czech Republic This paper is dealing

More information

CS2 Algorithms and Data Structures Note 1

CS2 Algorithms and Data Structures Note 1 CS2 Algorithms and Data Structures Note 1 Analysing Algorithms This thread of the course is concerned with the design and analysis of good algorithms and data structures. Intuitively speaking, an algorithm

More information

6. Dicretization methods 6.1 The purpose of discretization

6. Dicretization methods 6.1 The purpose of discretization 6. Dicretization methods 6.1 The purpose of discretization Often data are given in the form of continuous values. If their number is huge, model building for such data can be difficult. Moreover, many

More information

Data Structures Lecture 2 : Part 1: Programming Methodologies Part 2: Memory Management

Data Structures Lecture 2 : Part 1: Programming Methodologies Part 2: Memory Management 0 Data Structures Lecture 2 : Part 2: Memory Management Dr. Essam Halim Houssein Lecturer, Faculty of Computers and Informatics, Benha University 2 Programming methodologies deal with different methods

More information

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur

Module 4. Constraint satisfaction problems. Version 2 CSE IIT, Kharagpur Module 4 Constraint satisfaction problems Lesson 10 Constraint satisfaction problems - II 4.5 Variable and Value Ordering A search algorithm for constraint satisfaction requires the order in which variables

More information

Constraint (Logic) Programming

Constraint (Logic) Programming Constraint (Logic) Programming Roman Barták Faculty of Mathematics and Physics, Charles University in Prague, Czech Republic bartak@ktiml.mff.cuni.cz Sudoku Combinatorial puzzle, whose goal is to enter

More information

Chapter S:II. II. Search Space Representation

Chapter S:II. II. Search Space Representation Chapter S:II II. Search Space Representation Systematic Search Encoding of Problems State-Space Representation Problem-Reduction Representation Choosing a Representation S:II-1 Search Space Representation

More information

Lecture Notes on Contracts

Lecture Notes on Contracts Lecture Notes on Contracts 15-122: Principles of Imperative Computation Frank Pfenning Lecture 2 August 30, 2012 1 Introduction For an overview the course goals and the mechanics and schedule of the course,

More information

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras

Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Introduction to Operating Systems Prof. Chester Rebeiro Department of Computer Science and Engineering Indian Institute of Technology, Madras Week 05 Lecture 18 CPU Scheduling Hello. In this lecture, we

More information

The Structure of Bull-Free Perfect Graphs

The Structure of Bull-Free Perfect Graphs The Structure of Bull-Free Perfect Graphs Maria Chudnovsky and Irena Penev Columbia University, New York, NY 10027 USA May 18, 2012 Abstract The bull is a graph consisting of a triangle and two vertex-disjoint

More information

Job-shop scheduling with limited capacity buffers

Job-shop scheduling with limited capacity buffers Job-shop scheduling with limited capacity buffers Peter Brucker, Silvia Heitmann University of Osnabrück, Department of Mathematics/Informatics Albrechtstr. 28, D-49069 Osnabrück, Germany {peter,sheitman}@mathematik.uni-osnabrueck.de

More information

arxiv:cs/ v1 [cs.ds] 11 May 2005

arxiv:cs/ v1 [cs.ds] 11 May 2005 The Generic Multiple-Precision Floating-Point Addition With Exact Rounding (as in the MPFR Library) arxiv:cs/0505027v1 [cs.ds] 11 May 2005 Vincent Lefèvre INRIA Lorraine, 615 rue du Jardin Botanique, 54602

More information

Object Oriented Finite Element Modeling

Object Oriented Finite Element Modeling Object Oriented Finite Element Modeling Bořek Patzák Czech Technical University Faculty of Civil Engineering Department of Structural Mechanics Thákurova 7, 166 29 Prague, Czech Republic January 2, 2018

More information

Exact Algorithms Lecture 7: FPT Hardness and the ETH

Exact Algorithms Lecture 7: FPT Hardness and the ETH Exact Algorithms Lecture 7: FPT Hardness and the ETH February 12, 2016 Lecturer: Michael Lampis 1 Reminder: FPT algorithms Definition 1. A parameterized problem is a function from (χ, k) {0, 1} N to {0,

More information

Discrete Optimization. Lecture Notes 2

Discrete Optimization. Lecture Notes 2 Discrete Optimization. Lecture Notes 2 Disjunctive Constraints Defining variables and formulating linear constraints can be straightforward or more sophisticated, depending on the problem structure. The

More information

This is the search strategy that we are still using:

This is the search strategy that we are still using: About Search This is the search strategy that we are still using: function : if a solution has been found: return true if the CSP is infeasible: return false for in : if : return true return false Let

More information

Existing model. Existing model. Conceptual Model. Logical constraints. Temporal constraints

Existing model. Existing model. Conceptual Model. Logical constraints. Temporal constraints Motivation Production scheduling with alternative product routes and unary resources Handling lternatives in Temporal Networks Roman Bartá Barták Charles University (Czech Republic) roman.bartak@mff.cuni.cz

More information

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02)

Week - 04 Lecture - 01 Merge Sort. (Refer Slide Time: 00:02) Programming, Data Structures and Algorithms in Python Prof. Madhavan Mukund Department of Computer Science and Engineering Indian Institute of Technology, Madras Week - 04 Lecture - 01 Merge Sort (Refer

More information

Introduction and Simulation of Modified Left Algorithms to Attribute Orthogonal Codes in 3 rd Generation Systems

Introduction and Simulation of Modified Left Algorithms to Attribute Orthogonal Codes in 3 rd Generation Systems J. Basic. Appl. Sci. Res., 1(12)2950-2959, 2011 2011, TextRoad Publication ISSN 2090-4304 Journal of Basic and Applied Scientific Research www.textroad.com Introduction and Simulation of Modified Left

More information

Basic System. Tutorial Guide API PRO. Open.7

Basic System. Tutorial Guide API PRO. Open.7 Tutorial Guide API PRO Basic System Open.7 The Basic system, or module 2.1 is the backbone in API PRO and it is an absolute pre-condition to run any of the other modules in API PRO that the basic system

More information

CONSUMPTION BASICS. MICROECONOMICS Principles and Analysis Frank Cowell. July 2017 Frank Cowell: Consumption Basics 1

CONSUMPTION BASICS. MICROECONOMICS Principles and Analysis Frank Cowell. July 2017 Frank Cowell: Consumption Basics 1 CONSUMPTION BASICS MICROECONOMICS Principles and Analysis Frank Cowell July 2017 Frank Cowell: Consumption Basics 1 Overview Consumption: Basics The setting The environment for the basic consumer optimisation

More information

Test-King.MB6-884_79.Questions

Test-King.MB6-884_79.Questions Test-King.MB6-884_79.Questions Number: MB6-884 Passing Score: 800 Time Limit: 120 min File Version: 13.05 http://www.gratisexam.com/ Till now this is the latest material we have if there is any updates

More information

Announcements. Homework 4. Project 3. Due tonight at 11:59pm. Due 3/8 at 4:00pm

Announcements. Homework 4. Project 3. Due tonight at 11:59pm. Due 3/8 at 4:00pm Announcements Homework 4 Due tonight at 11:59pm Project 3 Due 3/8 at 4:00pm CS 188: Artificial Intelligence Constraint Satisfaction Problems Instructor: Stuart Russell & Sergey Levine, University of California,

More information

The Encoding Complexity of Network Coding

The Encoding Complexity of Network Coding The Encoding Complexity of Network Coding Michael Langberg Alexander Sprintson Jehoshua Bruck California Institute of Technology Email: mikel,spalex,bruck @caltech.edu Abstract In the multicast network

More information

Job Re-Packing for Enhancing the Performance of Gang Scheduling

Job Re-Packing for Enhancing the Performance of Gang Scheduling Job Re-Packing for Enhancing the Performance of Gang Scheduling B. B. Zhou 1, R. P. Brent 2, C. W. Johnson 3, and D. Walsh 3 1 Computer Sciences Laboratory, Australian National University, Canberra, ACT

More information

Executing Evaluations over Semantic Technologies using the SEALS Platform

Executing Evaluations over Semantic Technologies using the SEALS Platform Executing Evaluations over Semantic Technologies using the SEALS Platform Miguel Esteban-Gutiérrez, Raúl García-Castro, Asunción Gómez-Pérez Ontology Engineering Group, Departamento de Inteligencia Artificial.

More information

Fusion of Radar and EO-sensors for Surveillance

Fusion of Radar and EO-sensors for Surveillance of Radar and EO-sensors for Surveillance L.J.H.M. Kester, A. Theil TNO Physics and Electronics Laboratory P.O. Box 96864, 2509 JG The Hague, The Netherlands kester@fel.tno.nl, theil@fel.tno.nl Abstract

More information

Overview. What is system analysis and design? Tools and models Methodologies

Overview. What is system analysis and design? Tools and models Methodologies Overview What is system analysis and design? Tools and models Methodologies Information Systems What is a system? Why do systems fail? What is systems analysis and design? How do we do systems analysis?

More information

Lab 9. Julia Janicki. Introduction

Lab 9. Julia Janicki. Introduction Lab 9 Julia Janicki Introduction My goal for this project is to map a general land cover in the area of Alexandria in Egypt using supervised classification, specifically the Maximum Likelihood and Support

More information

Lecture notes on Transportation and Assignment Problem (BBE (H) QTM paper of Delhi University)

Lecture notes on Transportation and Assignment Problem (BBE (H) QTM paper of Delhi University) Transportation and Assignment Problems The transportation model is a special class of linear programs. It received this name because many of its applications involve determining how to optimally transport

More information

ApplMath Lucie Kárná; Štěpán Klapka Message doubling and error detection in the binary symmetrical channel.

ApplMath Lucie Kárná; Štěpán Klapka Message doubling and error detection in the binary symmetrical channel. ApplMath 2015 Lucie Kárná; Štěpán Klapka Message doubling and error detection in the binary symmetrical channel In: Jan Brandts and Sergej Korotov and Michal Křížek and Karel Segeth and Jakub Šístek and

More information

CS510 Operating System Foundations. Jonathan Walpole

CS510 Operating System Foundations. Jonathan Walpole CS510 Operating System Foundations Jonathan Walpole Disk Technology & Secondary Storage Management Disk Geometry Disk head, surfaces, tracks, sectors Example Disk Characteristics Disk Surface Geometry

More information

Introduction Attributed Graphs Rule Specification Implementation Conclusion. AGG and PROGRES. Bernhard Scholz. 27th January 2006.

Introduction Attributed Graphs Rule Specification Implementation Conclusion. AGG and PROGRES. Bernhard Scholz. 27th January 2006. AGG and PROGRES 27th January 2006 AGG and PROGRES 1 Motivation AGG Attributed Graph Grammar System TU Berlin PROGRES PROgrammed Graph REwriting Systems RTWH Aachen How do these systems work? Graph model

More information

Software Architecture. Lecture 4

Software Architecture. Lecture 4 Software Architecture Lecture 4 Last time We discussed tactics to achieve architecture qualities We briefly surveyed architectural styles 23-Jan-08 http://www.users.abo.fi/lpetre/sa08/ 2 Today We check

More information

UNIT 2 LINEAR PROGRAMMING PROBLEMS

UNIT 2 LINEAR PROGRAMMING PROBLEMS UNIT 2 LINEAR PROGRAMMING PROBLEMS Structure 2.1 Introduction Objectives 2.2 Linear Programming Problem (LPP) 2.3 Mathematical Formulation of LPP 2.4 Graphical Solution of Linear Programming Problems 2.5

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Adrian Groza Department of Computer Science Technical University of Cluj-Napoca 12 Nov 2014 Outline 1 Constraint Reasoning 2 Systematic Search Methods Improving backtracking

More information

6.001 Notes: Section 6.1

6.001 Notes: Section 6.1 6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of

More information

Operating system. Hardware

Operating system. Hardware Chapter 1.2 System Software 1.2.(a) Operating Systems An operating system is a set of programs designed to run in the background on a computer system, giving an environment in which application software

More information

1. Introduction. 2. Modelling elements III. CONCEPTS OF MODELLING. - Models in environmental sciences have five components:

1. Introduction. 2. Modelling elements III. CONCEPTS OF MODELLING. - Models in environmental sciences have five components: III. CONCEPTS OF MODELLING 1. INTRODUCTION 2. MODELLING ELEMENTS 3. THE MODELLING PROCEDURE 4. CONCEPTUAL MODELS 5. THE MODELLING PROCEDURE 6. SELECTION OF MODEL COMPLEXITY AND STRUCTURE 1 1. Introduction

More information

(Refer Slide Time: 0:51)

(Refer Slide Time: 0:51) Introduction to Remote Sensing Dr. Arun K Saraf Department of Earth Sciences Indian Institute of Technology Roorkee Lecture 16 Image Classification Techniques Hello everyone welcome to 16th lecture in

More information

Extending E-R for Modelling XML Keys

Extending E-R for Modelling XML Keys Extending E-R for Modelling XML Keys Martin Necasky Faculty of Mathematics and Physics, Charles University, Prague, Czech Republic martin.necasky@mff.cuni.cz Jaroslav Pokorny Faculty of Mathematics and

More information

SECTION III: SEED AND REFERENCE DATA

SECTION III: SEED AND REFERENCE DATA SECTION III: SEED AND REFERENCE DATA ECP1-ESS-FESSv3.82-3-SECTION III SEED.doc Page 1 of 57 DOCUMENT HISTORY Document History Edi. Rev. Date Description Action (*) Sections 0 01 26/08/2004 Creation I All

More information

Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help?

Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help? Applying Machine Learning to Real Problems: Why is it Difficult? How Research Can Help? Olivier Bousquet, Google, Zürich, obousquet@google.com June 4th, 2007 Outline 1 Introduction 2 Features 3 Minimax

More information

FLEXIBLE ASSEMBLY SYSTEMS

FLEXIBLE ASSEMBLY SYSTEMS FLEXIBLE ASSEMBLY SYSTEMS Job Shop and Flexible Assembly Job Shop Each job has an unique identity Make to order, low volume environment Possibly complicated route through system Very difficult Flexible

More information

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation

Module 1 Lecture Notes 2. Optimization Problem and Model Formulation Optimization Methods: Introduction and Basic concepts 1 Module 1 Lecture Notes 2 Optimization Problem and Model Formulation Introduction In the previous lecture we studied the evolution of optimization

More information

CSE 473: Artificial Intelligence

CSE 473: Artificial Intelligence CSE 473: Artificial Intelligence Constraint Satisfaction Luke Zettlemoyer Multiple slides adapted from Dan Klein, Stuart Russell or Andrew Moore What is Search For? Models of the world: single agent, deterministic

More information

Generell Topologi. Richard Williamson. May 27, 2013

Generell Topologi. Richard Williamson. May 27, 2013 Generell Topologi Richard Williamson May 27, 2013 1 1 Tuesday 15th January 1.1 Topological spaces definition, terminology, finite examples Definition 1.1. A topological space is a pair (X, O) of a set

More information

Data Warehouses Chapter 12. Class 10: Data Warehouses 1

Data Warehouses Chapter 12. Class 10: Data Warehouses 1 Data Warehouses Chapter 12 Class 10: Data Warehouses 1 OLTP vs OLAP Operational Database: a database designed to support the day today transactions of an organization Data Warehouse: historical data is

More information

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Ewa Kusmierek and David H.C. Du Digital Technology Center and Department of Computer Science and Engineering University of Minnesota

More information

A New Exam Timetabling Algorithm

A New Exam Timetabling Algorithm A New Exam Timetabling Algorithm K.J. Batenburg W.J. Palenstijn Leiden Institute of Advanced Computer Science (LIACS), Universiteit Leiden P.O. Box 9512, 2300 RA Leiden, The Netherlands {kbatenbu, wpalenst}@math.leidenuniv.nl

More information

SENSITIVITY ANALYSIS OF CRITICAL PATH AND ITS VISUALIZATION IN JOB SHOP SCHEDULING

SENSITIVITY ANALYSIS OF CRITICAL PATH AND ITS VISUALIZATION IN JOB SHOP SCHEDULING SENSITIVITY ANALYSIS OF CRITICAL PATH AND ITS VISUALIZATION IN JOB SHOP SCHEDULING Ryosuke Tsutsumi and Yasutaka Fujimoto Department of Electrical and Computer Engineering, Yokohama National University,

More information

Empirical risk minimization (ERM) A first model of learning. The excess risk. Getting a uniform guarantee

Empirical risk minimization (ERM) A first model of learning. The excess risk. Getting a uniform guarantee A first model of learning Let s restrict our attention to binary classification our labels belong to (or ) Empirical risk minimization (ERM) Recall the definitions of risk/empirical risk We observe the

More information

Efficient Synthesis of Production Schedules by Optimization of Timed Automata

Efficient Synthesis of Production Schedules by Optimization of Timed Automata Efficient Synthesis of Production Schedules by Optimization of Timed Automata Inga Krause Institute of Automatic Control Engineering Technische Universität München inga.krause@mytum.de Joint Advanced Student

More information

Determining Differences between Two Sets of Polygons

Determining Differences between Two Sets of Polygons Determining Differences between Two Sets of Polygons MATEJ GOMBOŠI, BORUT ŽALIK Institute for Computer Science Faculty of Electrical Engineering and Computer Science, University of Maribor Smetanova 7,

More information

Facility Location and Strategic Supply Chain Management

Facility Location and Strategic Supply Chain Management Structure I. Location Concepts II. Location Theory Chapter 3 Continuous Location Problems Chapter 4 Location Problems on Networks Chapter 5 Discrete Location Problems Chapter 6 - Territory Design III.

More information

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems

What is Search For? CS 188: Artificial Intelligence. Constraint Satisfaction Problems CS 188: Artificial Intelligence Constraint Satisfaction Problems What is Search For? Assumptions about the world: a single agent, deterministic actions, fully observed state, discrete state space Planning:

More information

Spemmet - A Tool for Modeling Software Processes with SPEM

Spemmet - A Tool for Modeling Software Processes with SPEM Spemmet - A Tool for Modeling Software Processes with SPEM Tuomas Mäkilä tuomas.makila@it.utu.fi Antero Järvi antero.jarvi@it.utu.fi Abstract: The software development process has many unique attributes

More information

CS 188: Artificial Intelligence Spring Today

CS 188: Artificial Intelligence Spring Today CS 188: Artificial Intelligence Spring 2006 Lecture 7: CSPs II 2/7/2006 Dan Klein UC Berkeley Many slides from either Stuart Russell or Andrew Moore Today More CSPs Applications Tree Algorithms Cutset

More information

General Methods and Search Algorithms

General Methods and Search Algorithms DM811 HEURISTICS AND LOCAL SEARCH ALGORITHMS FOR COMBINATORIAL OPTIMZATION Lecture 3 General Methods and Search Algorithms Marco Chiarandini 2 Methods and Algorithms A Method is a general framework for

More information

Towards Reusable Heterogeneous Data-Centric Disentangled Parts

Towards Reusable Heterogeneous Data-Centric Disentangled Parts Towards Reusable Heterogeneous Data-Centric Disentangled Parts Michael Reinsch and Takuo Watanabe Department of Computer Science, Graduate School of Information Science and Technology, Tokyo Institute

More information

Lecture: Simulation. of Manufacturing Systems. Sivakumar AI. Simulation. SMA6304 M2 ---Factory Planning and scheduling. Simulation - A Predictive Tool

Lecture: Simulation. of Manufacturing Systems. Sivakumar AI. Simulation. SMA6304 M2 ---Factory Planning and scheduling. Simulation - A Predictive Tool SMA6304 M2 ---Factory Planning and scheduling Lecture Discrete Event of Manufacturing Systems Simulation Sivakumar AI Lecture: 12 copyright 2002 Sivakumar 1 Simulation Simulation - A Predictive Tool Next

More information

Ensemble methods in machine learning. Example. Neural networks. Neural networks

Ensemble methods in machine learning. Example. Neural networks. Neural networks Ensemble methods in machine learning Bootstrap aggregating (bagging) train an ensemble of models based on randomly resampled versions of the training set, then take a majority vote Example What if you

More information

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks

A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks IEEE/ACM TRANSACTIONS ON NETWORKING, VOL. 8, NO. 6, DECEMBER 2000 747 A Path Decomposition Approach for Computing Blocking Probabilities in Wavelength-Routing Networks Yuhong Zhu, George N. Rouskas, Member,

More information

number Understand the equivalence between recurring decimals and fractions

number Understand the equivalence between recurring decimals and fractions number Understand the equivalence between recurring decimals and fractions Using and Applying Algebra Calculating Shape, Space and Measure Handling Data Use fractions or percentages to solve problems involving

More information

CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS

CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS CHAPTER 4 CLASSIFICATION WITH RADIAL BASIS AND PROBABILISTIC NEURAL NETWORKS 4.1 Introduction Optical character recognition is one of

More information

S Teletekniikan erikoiskurssi Kalevi Kilkki 11/2000 MPLS (MULTIPROTOCOL LABEL SWITCHING) - SOME PRELIMINARY THOUGHTS

S Teletekniikan erikoiskurssi Kalevi Kilkki 11/2000 MPLS (MULTIPROTOCOL LABEL SWITCHING) - SOME PRELIMINARY THOUGHTS S-38.210 Teletekniikan erikoiskurssi Kalevi Kilkki 11/2000 Material for lecture #8 & #9 MPLS (MULTIPROTOCOL LABEL SWITCHING) - SOME PRELIMINARY THOUGHTS According to RFC2702 "Requirements for Traffic Engineering

More information

CS 343: Artificial Intelligence

CS 343: Artificial Intelligence CS 343: Artificial Intelligence Constraint Satisfaction Problems Prof. Scott Niekum The University of Texas at Austin [These slides are based on those of Dan Klein and Pieter Abbeel for CS188 Intro to

More information