Conveyor system optimization procedure

I want to show how you can optimize a conveyor system with a combination of mathematical modeling and discrete-event simulation (DES). This is an addition to the rich variety of conveyor optimization examples available in industry. However, as I will explain in this article the workflow and procedure proposed by me leads to significantly better […]

Heuristic optimization in Python

Following the previous articles on interfaces (+) and (exact) solvers (+) for optimization in Python, in this article, I introduce some packages that provide an easy-to-use “interface” for artificially intelligent algorithms (AIAs) (e.g., heuristics, meta-heuristics, math-heuristics, learn-heuristics, hyper-heuristics, or sim-heuristics). AIAs may not reach globally optimal solutions, which means that the user should always be […]

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, […]

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 […]