Simply put, constrained optimization is the set of numerical methods used to solve problems where one is looking to find minimize total cost based on inputs whose constraints, or limits, are unsatisfied. In business, finance, and economics, it is typically used to find the minimum, or set of minimums, for a cost function where the cost varies depending on the varying availability and cost of inputs, such as raw materials, labor, and other resources. It is also used to find the maximum return or set of returns that depends on varying values of financial resources available and their limits, such as the amount and cost of capital and the absolute minimum or maximum value these variables can reach. Linear, non-linear, multi-objective and distributed constraint optimization models exist. Linear programming, matrix algebra, branch and bound algorithms, and Lagrange multipliers are some of the techniques commonly used to solve such problems.
The choice of constrained optimization method depends on the specific type of problem and function to be solved. More broadly, such methods are related to constraint satisfaction problems, which require the user to satisfy a set of given constraints. Constrained optimization problems, in contrast, require the user to minimize the total cost of the unsatisfied constraints. The constraints can be an arbitrary Boolean combination of equations, such as f(x)=0, weak inequalities such as g(x)>=0, or strict inequalities, such as g(x)>0. What are known as global and local minimums and maximums may exist; this depends on whether or not the set of solutions is closed, i.e., a finite number of maximums or minimums, and/or bounded, meaning that there is an absolute minimum or maximum value.
Constrained optimization is used widely in finance and economics. For example, portfolio managers and other investment professionals use it to model the optimal allocation of capital among a defined range of investment choices to come up with a theoretical maximum return on investment and minimum risk. In microeconomics, constrained optimization may be used to minimize cost functions while maximizing output by defining functions that describe how inputs, such as land, labor and capital, vary in value and determine total output, as well as total cost. In macroeconomics, constrained optimization may be used to formulate tax policies; this may include finding a maximum value for a proposed gasoline tax that minimizes consumer dissatisfaction or yields a maximum level of consumer satisfaction given the higher cost.
NathanG Post 4 |
@everetra - I agree with you about the implications of gas price increases. I can’t believe politicians still talk about a gasoline tax, when prices for gasoline are already rising.
An added tax will lead to an outright revolt at the pump, with everyone choosing to take the bus or train to work. Some things you don’t need a software program to figure out for you in my opinion. |
everetra Post 3 |
@Charred - Forget about portfolio investing, I’d like to use a linear programming solver to figure out my budget. Basically I want to figure out a way to reduce costs while other variables fluctuate.
For example if the price of gas increases, where can I shave expenses to offset the increase? The same thing goes for the price of groceries, which inevitably rise in price in tandem with gas prices.
What if my income increases and my taxes go up as well? How much should I shelter my income to ensure that the increase is not eaten by taxes? You get the idea. I don’t want just a basic money management tool that tells me where my money goes each month. I want a tool that acts as a personal financial advisor based on changing real world conditions. |
Charred Post 2 |
@MrMoody - A lot of software programs use constrained optimization methods to do their analysis. Keeping with the stock market example, you will find many stock market forecasting software applications that use such analysis.
They want to maximize profits for the investor. You decide whether you are a short term investor or long term investor, what you want your rate of return to be and your risk aversion or tolerance level, and the software will go to work for you, finding the best possible stocks to invest in.
These software applications will also give you buy and sell signals too. Whether the software works flawlessly is another question. If it did, everyone would be using it. There are some things that computer programs can’t account for, and that’s why they’re not perfect. |
MrMoody Post 1 |
Constrained optimization is a method used in a lot of analytical jobs. You can use different programming languages to solve the problems or you can use existing tools.
In Excel for example you can do a What If Analysis or use the Solver Tool to solve for the best possible solutions to a problem. That problem may have several variables that can change over time.
The What If analysis is similar, but it reflects the changes that result from varying your inputs. The point is that you have a variety of data analysis tools at your disposal.
To take the example given in the article, you could easily build a worksheet filled with asset allocations for your
investment portfolio. Then you could define your “Goal,” as say 10% annualized return on investment, and you can use Excel’s data analysis to find the best asset allocation that will arrive at that goal.
I am not pushing Excel, I am just saying it’s an example of a tool that you can use to do optimization. |
exception 'Exception' with message 'error writing captcha: Duplicate entry '2147483647' for key 'PRIMARY'' in /ssd/www/wisegeek/public_html/_core/classes/public/Captcha.php:44 Stack trace: #0 /ssd/www/wisegeek/public_html/_core/controls/public/ControlDiscussionPostBox.php(324): Captcha->createCaptcha() #1 /ssd/www/wisegeek/public_html/framework/classes/Control.php(104): ControlDiscussionPostBox->preRender(false) #2 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): Control->render() #3 /ssd/www/wisegeek/public_html/tpl/default-nocustom-lu/pages/public/article/article.htm(526): Control->__toString() #4 /ssd/www/wisegeek/public_html/framework/classes/Control.php(300): require('/ssd/www/wisege...') #5 /ssd/www/wisegeek/public_html/framework/classes/Control.php(309): Control->requireTpl('pages/public/ar...', Object(PageArticleCom), true) #6 /ssd/www/wisegeek/public_html/framework/classes/Control.php(131): Control->renderTpl('pages/public/ar...', Object(PageArticleCom)) #7 /ssd/www/wisegeek/public_html/framework/classes/FormDataControl.php(87): Control->renderTemplate() #8 /ssd/www/wisegeek/public_html/framework/classes/Control.php(109): FormDataControl->renderTemplate() #9 /ssd/www/wisegeek/public_html/framework/classes/ScriptPage.php(50): Control->render(false) #10 /ssd/www/wisegeek/public_html/framework/classes/Control.php(149): ScriptPage->render() #11 /ssd/www/wisegeek/public_html/framework/classes/Page.php(97): Control->__toString() #12 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(443): Page->processRequest() #13 /ssd/www/wisegeek/public_html/_core/classes/public/PublicFrontController.php(7): PublicFrontController->renderPage() #14 /ssd/www/wisegeek/public_html/index.php(11): PublicFrontController::run() #15 {main}