<p dir="ltr">An optimization problem is to find the best decisions among a set of alternatives. There are constraints that determine which decisions are feasible, and there is a metric that determines the value of the decisions. This type of problem arises in many business settings. For example, in the transportation sector, a shipping company wants to deliver packages as efficiently as possible within the constraints of its budget, assets, and workforce. </p><p dir="ltr">An optimization model is a mathematical description of an optimization problem. It has three parts: decision variables, constraints, and an objective function. Decision variables are placeholders for assignments of values that represent decisions. A constraint is a function that takes an assignment of values to the decision variables as input and outputs whether or not the assignment is feasible. An objective function takes an assignment of values to the decision variables as input and outputs a real number that represents its value. </p><p dir="ltr">An optimization algorithm is a method to solve an optimization model. There are exact optimization algorithms and heuristic optimization algorithms. An exact algorithm aims not only to find the best solution, but also to prove that no better solution exists. A heuristic algorithm aims to find a good solution to the model without proving how good it is. An optimization algorithm is usually designed to solve a particular form of an optimization model. For example, an opti- mization algorithm might solve optimization models that have linear objective functions and linear constraints</p>
Funding
Decision Diagrams for Combinatorial Optimization: Algorithms and Applications