Concepts inConstraints-driven scheduling and resource assignment
Scheduling (production processes)
Scheduling is an important tool for manufacturing and engineering, where it can have a major impact on the productivity of a process. In manufacturing, the purpose of scheduling is to minimize the production time and costs, by telling a production facility when to make, with which staff, and on which equipment. Production scheduling aims to maximize the efficiency of the operation and reduce costs. Production scheduling tools greatly outperform older manual scheduling methods.
more from Wikipedia
Resource (project management)
In project management terminology, resources are required to carry out the project tasks. They can be people, equipment, facilities, funding, or anything else capable of definition (usually other than labour) required for the completion of a project activity. The lack of a resource will therefore be a constraint on the completion of the project activity. Resources may be storable or non storable.
more from Wikipedia
JaCoP (solver)
JaCoP is a constraint solver for constraint satisfaction problems. It is written in Java and it is provided as a Java library. Its main focus is on ease of use, modeling power, as well as efficiency. It has a large collection of global constraints implemented to facilitate problem modeling. JaCoP is actively developed since year 2001. Krzysztof Kuchcinski and Radoslaw Szymanek are the core developers of this Java library.
more from Wikipedia
Constraint programming
Constraint programming is a programming paradigm wherein relations between variables are stated in the form of constraints. Constraints differ from the common primitives of imperative programming languages in that they do not specify a step or sequence of steps to execute, but rather the properties of a solution to be found. This makes constraint programming a form of declarative programming.
more from Wikipedia
Finite set
In mathematics, a finite set is a set that has a finite number of elements. For example, is a finite set with five elements. The number of elements of a finite set is a natural number, and is called the cardinality of the set. A set that is not finite is called infinite. For example, the set of all positive integers is infinite: Finite sets are particularly important in combinatorics, the mathematical study of counting.
more from Wikipedia
Assignment problem
The assignment problem is one of the fundamental combinatorial optimization problems in the branch of optimization or operations research in mathematics. It consists of finding a maximum weight matching in a weighted bipartite graph. In its most general form, the problem is as follows: There are a number of agents and a number of tasks. Any agent can be assigned to perform any task, incurring some cost that may vary depending on the agent-task assignment.
more from Wikipedia
Functional programming
In computer science, functional programming is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state. Functional programming has its roots in lambda calculus, a formal system developed in the 1930s to investigate function definition, function application, and recursion.
more from Wikipedia