Basic Modeling for Discrete Optimization

Start Date: 10/11/2020

Course Type: Common Course

Course Link:

Explore 1600+ online courses from top universities. Join Coursera today to learn data science, programming, business strategy, and more.

About Course

Optimization is a common form of decision making, and is ubiquitous in our society. Its applications range from solving Sudoku puzzles to arranging seating in a wedding banquet. The same technology can schedule planes and their crews, coordinate the production of steel, and organize the transportation of iron ore from the mines to the ports. Good decisions in manpower and material resources management also allow corporations to improve profit by millions of dollars. Similar problems also underpin much of our daily lives and are part of determining daily delivery routes for packages, making school timetables, and delivering power to our homes. Despite their fundamental importance, all of these problems are a nightmare to solve using traditional undergraduate computer science methods. This course is intended for students interested in tackling all facets of optimization applications. You will learn an entirely new way to think about solving these challenging problems by stating the problem in a state-of-the-art high level modeling language, and letting library constraint solving software do the rest. This will allow you to unlock the power of industrial solving technologies, which have been perfected over decades by hundreds of PhD researchers. With access to this advanced technology, problems that are considered inconceivable to solve before will suddenly become easy. Watch the course promotional video here:

Course Syllabus

In this first module, you will learn the basics of MiniZinc, a high-level modeling language for discrete optimization problems. Combining the simplicity of MiniZinc with the power of open-source industrial solving technologies, you will learn how to solve applications such as knapsack problems, graph coloring, production planning and tricky Cryptarithm puzzles, with great ease.

Deep Learning Specialization on Coursera

Course Introduction

Basic Modeling for Discrete Optimization Optimization is a common form of decision making. In the optimization domain, the decision between different forms of decision require careful analysis and representation. This course provides you with the tools to model and discuss choice and optimization as discrete optimization systems. You will learn the modeling techniques to represent the decisions in a decision making scenario. This will apply to various decision making problems for discrete optimization. You will be able to model the problem, compute the appropriate decision trees, and use the decision tree to make decisions in a discrete optimization problem space. This will apply to different decision making problems for discrete optimization, such as from a discrete optimization problem space, generality of choice, the generalization of performance, and generality of techniques. This course is useful for decision making systems and optimization problems in any domain. In lecture 1, we will introduce the decision tree model and introduce the operations that generate decision trees. We will use the decision tree to generate discrete optimization problems and will discuss the decisions needed to generate the discrete solutions. In lecture 2, we will introduce the optimization problem space and the problems that arise from modeling the problem space. We will use the tree to choose between different optimization problems and will discuss the decisions needed to choose between different problem sets. In lecture 3, we will introduce the generic formulae and the practice problems that arise from modeling the problem space. We will use the choice method to analyze and choose between different problem sets. Finally, we will walk through the step-by

Course Tag

Constraint Programming Problem Solving Mathematical Model Discrete Optimization

Related Wiki Topic

Article Example
Discrete optimization Discrete optimization is a branch of optimization in applied mathematics and computer science.
Discrete optimization Two notable branches of discrete optimization are:
Discrete optimization As opposed to continuous optimization, some or all of the variables used in a discrete mathematical program are restricted to be discrete variables—that is, to assume only a discrete set of values, such as the integers.
Combinatorial optimization For NP-complete discrete optimization problems, current research literature includes the following topics:
Business process modeling Modeling and simulation functionality allows for pre-execution "what-if" modeling and simulation. Post-execution optimization is available based on the analysis of actual as-performed metrics.
Solid Modeling Solutions VSLib - deformable modeling using the constrained optimization
General Algebraic Modeling System The General Algebraic Modeling System (GAMS) is a high-level modeling system for mathematical optimization. GAMS is designed for modeling and solving linear, nonlinear, and mixed-integer optimization problems. The system is tailored for complex, large-scale modeling applications and allows the user to build large maintainable models that can be adapted to new situations. The system is available for use on various computer platforms. Models are portable from one platform to another.
Optimization problem In mathematics and computer science, an optimization problem is the problem of finding the "best" solution from all feasible solutions. Optimization problems can be divided into two categories depending on whether the variables are continuous or discrete. An optimization problem with discrete variables is known as a combinatorial optimization problem. In a combinatorial optimization problem, we are looking for an object such as an integer, permutation or graph from a finite (or possibly countable infinite) set. Problems with continuous variables include constrained problems and multimodal problems.
LINGO (mathematical modeling language) LINGO is a mathematical modeling language designed for formulating and solving optimization problems, including linear, integer, and nonlinear programming problems.
Algebraic modeling language Algebraic Modeling Languages (AML) are high-level computer programming languages for describing and solving high complexity problems for large scale mathematical computation (i.e. large scale optimization type problems). One particular advantage of some algebraic modeling languages like AIMMS, AMPL, GAMS
Combinatorial optimization Combinatorial optimization problems can be viewed as searching for the best element of some set of discrete items; therefore, in principle, any sort of search algorithm or metaheuristic can be used to solve them. However, generic search algorithms are not guaranteed to find an optimal solution, nor are they guaranteed to run quickly (in polynomial time). Since some discrete optimization problems are NP-complete, such as the traveling salesman problem, this is expected unless P=NP.
Discrete geometry Discrete geometry has a large overlap with convex geometry and computational geometry, and is closely related to subjects such as finite geometry, combinatorial optimization, digital geometry, discrete differential geometry, geometric graph theory, toric geometry, and combinatorial topology.
Trajectory optimization There are a wide variety of applications for trajectory optimization, primarily in robotics: industry, manipulation, walking, path-planning, and aerospace. It can also be used for modeling and estimation.
Combinatorial optimization There is a large amount of literature on polynomial-time algorithms for certain special classes of discrete optimization, a considerable amount of it unified by the theory of linear programming. Some examples of combinatorial optimization problems that fall into this framework are shortest paths and shortest path trees, flows and circulations, spanning trees, matching, and matroid problems.
List of optimization software In combinatorial optimization, "A" is some subset of a discrete space, like binary strings, permutations, or sets of integers.
Combinatorial optimization Some research literature considers discrete optimization to consist of integer programming together with combinatorial optimization (which in turn is composed of optimization problems dealing with graph structures) although all of these topics have closely intertwined research literature. It often involves determining the way to efficiently allocate resources used to find solutions to mathematical problems.
Demand optimization Demand optimization is the application of processes and tools to maximize return on sales. This usually involves the application of mathematical modeling techniques using computer software.
Mathematical optimization Another field that uses optimization techniques extensively is operations research. Operations research also uses stochastic modeling and simulation to support improved decision-making. Increasingly, operations research uses stochastic programming to model dynamic decisions that adapt to events; such problems can be solved with large-scale optimization and stochastic optimization methods.
MS4 Modeling Environment MS4 Modeling Environment (MS4 Me) is a discrete event simulation system (DEVS) software developed by MS4 Systems, Inc. It has been used in the modeling of complex systems (such as a national health care system) and is also covered in a discrete event simulation and systems of systems modeling text.
Discrete optimization These branches are closely intertwined however since many combinatorial optimization problems can be modeled as integer programs (e.g. shortest path) and conversely, integer programs can often be given a combinatorial interpretation.