Flow shop scheduling with PuLP in Python

In previous articles, I modeled and solved a single machine scheduling problem. What if we have two resources that operate in a pre-determined sequence (but not in parallel) to process a set of similar jobs? The so-called “flow shop” scheduling models focus on these situations. It can be production scheduling inside a factory. Or it […]

Single machine scheduling with PuLP

There are many use cases of operations research (OR) where the decision problem is finding an optimal sequence over time. For instance, we may be interested in allocating a resource (e.g., a machine, a human, a facility, a plane, a cloud computer) overtime to conduct a set of tasks (e.g., manufacturing, project, order picking, flight, […]

Integer programming with CPLEX & DOCPLEX

Thanks to the evolution of Python and its applications to solve linear programs and their variations supply chain and operations research analysts now have access to numerous packages and tools that support decision making. In this article I will use CPLEX and DOCPLEX to model and solve a linear integer program. Linear programming, also referred […]

Using solvers for optimization in Python

Following the previous article on modeling and solving an optimization problem in Python using several “interfaces” (+), in this article, I try to provide a comprehensive review of open-source (OS), free, free & open-source (FOSS), and commercial “solvers,” which are usually used for specific types of problems and coded with low-level programming languages (such as […]

Optimization and modeling in Python

Operations Research (OR) involves experiments with optimization models. The aim is to find the best design, plan, or decision for a system or a human. Accordingly, these models consist of objectives and constraints. However, most of the available packages or software for OR are not free or open-source. Thus, the pace of knowledge transfer or […]