MathWorks - Mobile View
  • Sign In to Your MathWorks AccountSign In to Your MathWorks Account
  • Access your MathWorks Account
    • My Account
    • My Community Profile
    • Link License
    • Sign Out
  • Products
  • Solutions
  • Academia
  • Support
  • Community
  • Events
  • Get MATLAB
MathWorks
  • Products
  • Solutions
  • Academia
  • Support
  • Community
  • Events
  • Get MATLAB
  • Sign In to Your MathWorks AccountSign In to Your MathWorks Account
  • Access your MathWorks Account
    • My Account
    • My Community Profile
    • Link License
    • Sign Out

Videos and Webinars

  • MathWorks
  • Videos
  • Videos Home
  • Search
  • Videos Home
  • Search
  • Contact sales
  • Trial software
  Register to watch video
  • Description
  • Full Transcript
  • Related Resources

What Is Optimization Toolbox?

Gabriel Ha, MathWorks

Optimization Toolbox™ provides functions for finding parameters that minimize or maximize objectives while satisfying constraints. The toolbox includes solvers for linear programming (LP), mixed-integer linear programming (MILP), quadratic programming (QP), second-order cone programming (SOCP), nonlinear programming (NLP), constrained linear least squares, nonlinear least squares, and nonlinear equations.

You can define your optimization problem with functions and matrices, either programmatically or with an app. Alternatively, you can use expressions of optimization variables that reflect the underlying mathematics. You can use automatic differentiation of objective and constraint functions for faster and more accurate solutions.

Optimization Toolbox™ provides solvers for finding a maximum or a minimum of an objective function subject to constraints. This enables you to find optimal designs, minimize risk for financial applications, optimize decision making, and estimate parameters.

You can use the problem-based approach to define the optimization variables and their bounds, set the objective, and then solve.  On this problem, the solve function recognizes the problem is nonlinear, applies a nonlinear solver, and uses automatic differentiation for faster gradient evaluations.

Optimization problems often have sets of variables or constraints like in this production planning problem. You can define arrays of optimization variables and constraints, and index with numbers or strings, resulting in readable and compact representations of large problems.

You can use the problem-based approach even when some functions are not naturally expressed as optimization expressions. This problem’s objective function requires solving an ODE. We can convert this to an optimization expression and use it in the problem to be optimized.

You can add integer constraints to linear problems involving variables which must take on integer values. This includes when the variables represent a yes or no decision, like whether a process is assigned to a processor in this scheduling example.

In addition to solvers for nonlinear, linear, and mixed-integer linear programs, Optimization Toolbox includes specialized solvers for quadratic programs, second-order cone programs, multiobjective, and linear and nonlinear least squares.

You can quickly solve large and sparse problems with thousands of variables. Here, a quadratic problem with over 40,000 variables is solved in around thirty seconds.

 As an alternative to the problem-based approach, you can use Optimization Toolbox with the solver-based approach. After representing your objectives and constraints as MATLAB functions and matrices, the Optimize Live Task helps guide you through this approach by indicating where to select a solver and insert your predefined MATLAB constructs.  

Optimization Toolbox works in conjunction with other MATLAB® tools. You can accelerate numerical gradient calculations using Parallel Computing Toolbox™.

You can compile your applications into apps or libraries with MATLAB Compiler™ and MATLAB Compiler SDK™. 

You can generate portable and readable C/C++ code to solve your optimization problems using MATLAB Coder™. Use this code to deploy applications to enterprise and embedded systems.

For more information, return to the Optimization Toolbox page or choose a link below.

Related Products

  • Optimization Toolbox
  • Global Optimization Toolbox

Feedback

Featured Product

Optimization Toolbox

  • Request Trial
  • Get Pricing

Up Next:

10:46
Mathematical Modeling with Optimization, Part 2b:...

Related Videos:

6:08
Introduction to Optimization Graphical User Interface
1:03:00
Optimization in MATLAB for Financial Applications
53:45
Tips and Tricks: Getting Started Using Optimization with...
36:35
Optimization in MATLAB: An Introduction to Quadratic...

View more related videos

MathWorks - Domain Selector

Select a Web Site

Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .

Select web site

You can also select a web site from the following list:

How to Get Best Site Performance

Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.

Americas

  • América Latina (Español)
  • Canada (English)
  • United States (English)

Europe

  • Belgium (English)
  • Denmark (English)
  • Deutschland (Deutsch)
  • España (Español)
  • Finland (English)
  • France (Français)
  • Ireland (English)
  • Italia (Italiano)
  • Luxembourg (English)
  • Netherlands (English)
  • Norway (English)
  • Österreich (Deutsch)
  • Portugal (English)
  • Sweden (English)
  • Switzerland
    • Deutsch
    • English
    • Français
  • United Kingdom (English)

Asia Pacific

  • Australia (English)
  • India (English)
  • New Zealand (English)
  • 中国
    • 简体中文Chinese
    • English
  • 日本Japanese (日本語)
  • 한국Korean (한국어)

Contact your local office

  • Contact sales
  • Trial software

Explore Products

  • MATLAB
  • Simulink
  • Student Software
  • Hardware Support
  • File Exchange

Try or Buy

  • Downloads
  • Trial Software
  • Contact Sales
  • Pricing and Licensing
  • How to Buy

Learn to Use

  • Documentation
  • Tutorials
  • Examples
  • Videos and Webinars
  • Training

Get Support

  • Installation Help
  • Answers
  • Consulting
  • License Center
  • Contact Support

About MathWorks

  • Careers
  • Newsroom
  • Social Mission
  • Contact Sales
  • About MathWorks

MathWorks

Accelerating the pace of engineering and science

MathWorks is the leading developer of mathematical computing software for engineers and scientists.

Discover…

  • Select a Web Site United States
  • Patents
  • Trademarks
  • Privacy Policy
  • Preventing Piracy
  • Application Status

© 1994-2021 The MathWorks, Inc.

  • Facebook
  • Twitter
  • Instagram
  • YouTube
  • LinkedIn
  • RSS

Join the conversation