Home
About
Services
Work
Contact
If you have a look at the red datapoints, you can easily see a linear trend: The older your PC (higher x1), the longer the training time (higher x2). First, let’s go back to high-school and see how a line is defined: In this equation, a defines the slope of our line (higher a = steeper line), and b defines the point where the line crosses the y axis. The strengths and the shortcomings of these models are discussed and potential research directions and open problems are highlighted. To start, let’s have a look at a simple dataset (x1, x2): This dataset can represent whatever we want, like x1 = Age of your computer, x2 = time you need to train a Neural Network for example. Topics in machine learning (ML). ScienceDirect ® is a registered trademark of Elsevier B.V. ScienceDirect ® is a registered trademark of Elsevier B.V. Optimization problems for machine learning: A survey. As you can see, we now have three values to find: a, b and c. Therefore, our minimization problem changes slightly as well. Then, the error gets extremely large. The project can be of a theoretical nature (e.g., design of optimization algorithms for training ML models; building foundations of deep learning; distributed, stochastic and nonconvex optimization), or of a practical nature (e.g., creative application and modification of existing techniques to problems in federated learning, computer vision, health, … So why not just take a very high order approximation function for our data to get the best result? If you start to look into machine learning and the math behind it, you will quickly notice that everything comes down to an optimization problem. Like the curve of a squared function? You will start with a large step, quickly getting down. problems Optimization in Data Analysis I Relevant Algorithms Optimization is being revolutionized by its interactions with machine learning and data analysis. The “parent problem” of optimization-centric machine learning is least-squares regression. But how do we calculate it? One question remains: For a linear problem, we could also have used a squared approximation function. Optimization for machine learning 29 Goal of machine learning Minimize expected loss given samples But we don’t know P(x,y), nor can we estimate it well Empirical risk minimization Substitute sample mean for expectation Minimize empirical loss: L(h) = 1/n ∑ i loss(h(x i),y … every innovation in technology and every invention that improved our lives and our ability to survive and thrive on earth Indeed, this intimate relation of optimization with ML is the key motivation for the OPT series of workshops. First, we again define our problem definition: We want a squared function y = ax² + bx + c that fits our data best. © 2020 Elsevier B.V. All rights reserved. Every red dot on our plot represents a measured data point. This has two reasons: Then, let’s sum up the errors to get an estimate of the overall error: This formula is called the “Sum of Squared Errors” and it is really popular in both Machine Learning and Statistics. So we should have a personal look at the data first, decide what order polynomial will most probably fit best, and then choose an appropriate polynomial for our approximation. The height of the landscape represents the Squared error. But what about your computer? Or, mathematically speaking, the error / distance between the points in our dataset and the line should be minimal. Well, remember we have a sum in our equations, and many known values xi and yi. How is this useful? Well, let’s remember our original problem definition: We want to find a and b such that the linear approximation line y=ax+b fits our data best. having higher values for a) would give us a higher slope, and therefore a worse error. If we are lucky, there is a PC with comparable age nearby, so taking the nearby computer’s NN training time will give a good estimation of our own computers training time — e.g. The goal for optimization algorithm is to find parameter values which correspond to minimum value of cost function… Well, not so much. But how should we find these values a and b? Well, as we said earlier, we want to find a and b such that the line y=ax+b fits our data as good as possible. the error we make in guessing the value x2 (training time) will be quite small. It allows firms to model the key features of a complex real-world problem that must be considered to make the best possible decisions and provides business benefits. But how would we find such a line? — (Neural information processing series) Includes bibliographical references. Internship Description. If you need a specialist in Software Development or Artificial intelligence, check out my Software Development Company in Zürich, Machine Learning Reference Architectures from Google, Facebook, Uber, DataBricks and Others, Improving Data Labeling Efficiency with Auto-Labeling, Uncertainty Estimates, and Active Learning, CNN cheatsheet — the essential summary (Part 1), How to Implement Logistic Regression with TensorFlow. If we find the minimum of this function f(a, b), we have found our optimal a and b values: Before we get into actual calculations, let’s give a graphical impression of how our optimization function f(a, b) looks like: Note that the graph on the left is not actually the representation of our function f(a,b), but it looks similar. So the minimum squared error is right where our green arrow points to. For the demonstration purpose, imagine following graphical representation for the cost function. If you start to look into machine learning and the math behind it, you will quickly notice that everything comes down to an optimization problem. having higher values for b), we would shift our line upwards or downwards, giving us worse squared errors as well. But what if we are less lucky and there is no computer nearby? Optimization lies at the heart of many machine learning algorithms and enjoys great interest in our community. Machine learning is the science of getting computers to act without being explicitly programmed. We start with defining some random initial values for parameters. How can we do this? Although the combinatorial optimization learning problem has been actively studied across different communities including pattern recognition, machine learning, computer vision, and algorithm etc. We can also say that our function should approximate our data. The role of machine learning (ML), deep reinforcement learning (DRL), and state-of-the-art technologies such as mobile edge computing (MEC), and software-defined networks (SDN) over UAVs joint optimization problems have explored. We use cookies to help provide and enhance our service and tailor content and ads. The SVM's optimization problem is a convex problem, where the convex shape is the magnitude of vector w: The objective of this convex problem is to find the minimum magnitude of vector w. One way to solve convex problems is by "stepping down" until you cannot get any further down. As we have seen in a previous module, item-based techniques try to estimate the rating a user would give to an item based on the similarity with other items the user rated. Recognize linear, eigenvalue, convex optimization, and nonconvex optimization problems underlying engineering challenges. The problem is that the ground truth is often limited: We know for 11 computer-ages (x1) the corresponding time they needed to train a NN. p. cm. Don’t be bothered by that too much, we will use the (x, y) notation for the linear case now, but will later come back to the (x1, x2) notation for higher order approximations). We can not solve one equation for a, then set this result into the other equation which will then only be dependent on b alone to find b. Vapnik casts the problem of ‘learning’ as an optimization problem allowing people to use all of the theory of optimization that was already given. Tadaa, we have a minimization problem definition. The higher the mountains, the worse the error. In fact, the widespread adoption of machine learning is in part attributed to the development of efficient solution … https://doi.org/10.1016/j.ejor.2020.08.045. Particularly, mathematical optimization models are presented for regression, classification, clustering, deep learning, and adversarial learning, as well as new emerging applications in machine teaching, empirical model learning, and Bayesian network structure learning. View Optimization problems from machine learning.docx from COMS 004 at California State University, Sacramento. Let’s fill that into our derivatives: f(a,b) = SUM [yi² + b²+a²x + 2abxi — 2byi — 2axiyi] Δa = 0f(a,b) = SUM [yi² + b²+a²x + 2abxi — 2byi — 2axiyi] Δb = 0. However, in the large-scale setting i.e., nis very large in (1.2), batch methods become in-tractable. Such models can benefit from the advancement of numerical optimization techniques which have already played a distinctive role in several machine learning settings. If we went into the direction of b (e.g. Copyright © 2020 Elsevier B.V. or its licensors or contributors. We obviously need a better algorithm to solve problems like that. In this article, we will go through the steps of solving a simple Machine Learning problem step by step. Let’s just look at the dataset and pick the computer with the most similar age. Potential research directions and open problems are highlighted. Nowadays machine learning is a combination of several disciplines such as statistics, information theory, theory of algorithms, probability and functional analysis. Since we have a two-dimensional function, we can simply calculate the two partial derivatives for each dimension and get a system of equations: Let’s rewrite f(a,b) = SUM [axi+b — yi]² by resolving the square. We will see why and how it always comes down to an optimization problem, which parameters are optimized and how we compute the optimal value in the end. Apparently, for gradient descent to converge to optimal minimum, cost function should be convex. Mathematical optimization complements machine learning-based predictions by optimizing the decisions that businesses make. 1. Let’s say this with other words: We want to find a and b such that the squared error is minimized. 2. Optimization is a technique for finding out the best possible solution for a given problem for all the possible solutions. Why don’t we do that by hand here? ISBN 978-0-262-01646-9 (hardcover : alk. This leaves us with f(a,b) = SUM [yi² + b²+a²x + 2abxi — 2byi — 2bxiyi]. Why? When we reed out the values for a and b at this point, we get a-optimal and b-optimal. Now we enter the field of Machine Learning. Consider the task of image classification. Optimization uses a rigorous mathematical model to find out the most efficient solution to the given problem. The joint optimization problems are categorized based on the parameters used in proposed UAVs architectures. A Neural Network is merely a very complicated function, consisting of millions of parameters, that represents a mathematical solution to a problem. Let’s focus on the first derivative and only use the second one as a validation. It is easiest explained by the following picture: On the left, we have approximated our data with a squared approximation function. Even though it is backbone of algorithms like linear regression, logistic regression, neural networks yet optimization in machine learning is not much talked about in non academic space.In this post we will understand what optimization really is from machine learning context in a very simple and intuitive manner. So the optimal point indeed is the minimum of f(a,b). Machine learning relies heavily on optimization to solve problems with its learning models, and first-order optimization algorithms are the mainstream approaches. In fact learning is an optimization problem. We note that soon after our paper appeared, (Andrychowicz et al., 2016) also independently proposed a similar idea. Traditionally, for small-scale nonconvex optimization problems of form (1.2) that arise in ML, batch gradient methods have been used. Well, with the approximation function y = ax² + bx + c and a value a=0, we are left with y = bx + c, which defines a line that could perfectly fit our data as well. If you don’t come from academics background and are just a self learner, chances are that you would not have come across optimization in machine learning. Since it is a high order polynomial, it will completely skyrock for all values greater than the highest datapoint and probably also deliver less reliable results for the intermediate points. If you are interested in more Machine Learning stories like that, check out my other medium posts! The error for a single point (marked in green) can is the difference between the points real y value, and the y-value our grey approximation line predicted: f(x). Optimization. In this talk, I will motivate taking a learning based approach to combinatorial optimization problems with a focus on deep reinforcement learning (RL) agents that generalize. Optimization lies at the heart of machine learning. To evaluate how good our approximation line is overall for the whole dataset, let’s calculate the error for all points. In this section, we will revisit the Item-based Collaborative Filtering Technique as a machine learning optimization problem. Perfect, right? You see that our approximation function makes strange movements and tries to touch most of the datapoints, but it misses the overall trend of the data. Well, in this case, our regression line would not be a good approximation for the underlying datapoints, so we need to find a higher order function — like a square function — that approximates our data. Stochastic gradient descent (SGD) is the simplest optimization algorithm used to find parameters which minimizes the given cost function. It can be calculates as follows: Here, f is the function f(x)=ax+b representing our approximation line. We can see that our approximation line is 12 units too low for this point. Optimization for machine learning / edited by Suvrit Sra, Sebastian Nowozin, and Stephen J. Wright. We can let a computer solve it with no problem, but can barely do it by hand. Supervised and unsupervised learning approaches are surveyed. Well, we could do that actually. paper) 1. Well, first, let’s square the individual errors. At Crater Labs during the past year, we have been pursuing a research program applying ML/AI techniques to solve combinatorial optimization problems. For our example data here, we have optimal values a=0.8 and b=20. The FanDuel image below is a very common sort of game that is widely played (ask your in-laws). The higher order functions we would choose, the smaller the squared error would be. Learning the Structure and Parameters of Deep Convolutional Neural Networks for While the sum of squared errors is still defined the same way: Writing it out shows that we now have an optimization function in three variables, a,b and c: From here on, you continue exactly the same way as shown above for the linear interpolation. We can easily calculate the partial derivatives: f(a,b) = SUM [2ax + 2bxi — 2xiyi] = 0f(a,b) = SUM [2b+ 2axi — 2yi ] = 0. Even the training of neural networks is basically just finding the optimal parameter configuration for a really high dimensional function. So to start understanding Machine Learning algorithms, you need to understand the fundamental concept of mathematical optimization and why it is useful. Machine learning approaches are presented as optimization formulations. Machine learning also has intimate ties to optimization: many learning problems are formulated as minimization of some loss function on a training set of examples. Given an x1 value we don’t know yet, we can just look where x1 intersects with the grey approximation line and use this intersection point as a prediction for x2. Lastly, the training of machine learning models can be naturally posed as an optimization problem with typical objectives that include optimizing training error, measure of fit, and cross-entropy (Boţ, Lorenz, 2011, Bottou, Curtis, Nocedal, 2018, Curtis, Scheinberg, 2017, Wright, 2018). What attack will federated learning face. We have been building on the recent work from the above mentioned papers to solve more complex (and hence more realistic) versions of the capacitated vehicle routing problem, supply chain optimization problems, and other related optimization problems. What if our data didn’t show a linear trend, but a curved one? Remember the parameters a=0.8 and b=20? The principle to calculate these is exactly the same, so let me go over it quickly with using a squared approximation function. There is no precise mathematical formulation that unambiguously describes the problem of face recognition. while there are still a large number of open problems for further study. Emerging applications in machine learning and deep learning are presented. So let’s have a look at a way to solve this problem. In this machine learning pricing optimization case study, we will take the data of a cafe and based on their past sales, identify the optimal prices for their items based on the price elasticity of the items. These approximation lines are then not linear approximation, but polynomial approximation, where the polynomial indicates that we deal with a squared function, a cubic function or even a higher order polynomial approximation. After that, this post tackles a more sophisticated optimization problem, trying to pick the best team for fantasy football. By continuing you agree to the use of cookies. Even for just 10 datapoints, the equation gets quite long. In the past decade, machine learning has given us self-driving cars, practical speech recognition, effective web search, and a vastly improved understanding of the human genome. Congratulations! ... Know-How to Learn Machine Learning Algorithms Effectively; Is Your Machine Learning Model Likely to Fail? xi is the points x1 coordnate, yi is the points x2 coordinate. This paper surveys the machine learning literature and presents in an optimization framework several commonly used machine learning approaches. Abstract: Many problems in systems and chip design are in the form of combinatorial optimization on graph structured data. There is no foolproof way to recognize an unseen photo of person by any method. Going more into the direction of a (e.g. Consider the machine learning analyst in action solving a problem for some set of data. Let’s set them into our function and calculate the error for the green point at coordinates (x1, x2) = (100, 120): Error = f(x) — yiError = f(100) — 120Error = a*100+b — 120Error = 0.8*100+20–120Error = -12. 2. Finally, we fill the value for b into one of our equal equations to get a. Machine learning— Mathematical models. The goal for machine learning is to optimize the performance of a model given an objective and the training data. On the right, we used an approximation function of degree 10, so close to the total number of data, which is 14. Building models and constructing reasonable objective functions are the ﬁrst step in machine learning methods. Mathematical optimization. Using machine learning for insurance pricing optimization, Google Cloud Big Data and Machine Learning Blog, March 29, 2017 What Marketers Can Expect from AI in 2018 , … Looking back over the past decade, a strong trend is apparent: The intersection of OPT and ML has grown to the point that now cutting-edge advances in optimization often arise from the ML community. I. Sra, Suvrit, 1976– II. They operate in an iterative fashion and maintain some iterate, which is a point in the domain of the objective function. Thus far we have been successful in reproducing the results in the above mentioned papers, … The acceleration of first-order optimization algorithms is crucial for the efficiency of machine learning. To start with an optimization problem, it … To find a line that fits our data perfectly, we have to find the optimal values for both a and b. This plot here represents the ground truth: All these points are correct and known data entries. Initially, the iterate is some random point in the domain; in each iterati… This principle is known as data approximation: We want to find a function, in our case a linear function describing a line, that fits our data as good as possible. The strengths and the shortcomings of the optimization models are discussed. Other methods and algorithms can be … If you are lucky, one computer in the dataset had the exactly same age as your, but that’s highly unlikely. (Note that the axis in our graphs are called (x1, x2) and not (x, y) like you are used to from school. For that reason, DL systems are considered inappropriate for more complex and generalized optimization problems. Optimization and its applications: Much of machine learning is posed as an optimization problem in which we try to maximize the accuracy of regression and classification models. For your computer, you know the age x1, but you don’t know the NN training time x2. The grey line indicates the linear data trend. Deep Learning, to a large extent, is really about solving massive nasty optimization problems. In fact, if we choose the order of the approximation function to be one less than the number of datapoints we totally have, our approximation function would even go through every single one of our points, making the squared error zero. Consider how existing continuous optimization algorithms generally work. In our paper last year (Li & Malik, 2016), we introduced a framework for learning optimization algorithms, known as “Learning to Optimize”. The modeler formulates the problem by selecting an appropriate family of models and massages the data into a format amenable to modeling. Well, we know that a global minimum has to fulfill two conditions: f’(a,b) = 0 — The first derivative must be zerof’’(a,b) >0 — The second derivative must be positive. Even … Almost all machine learning algorithms can be formulated as an optimization problem to ﬁnd the extremum of an ob- jective function. We want to find values for a and b such that the squared error is minimized. aspects of the modern machine learning applications. You now understand how linear regression works and could — in theory — calculate a linear approximation line by yourself without the help of a calculator! Most machine learning problems reduce to optimization problems. A better algorithm would look at the data, identify this trend and make a better prediction for our computer with a smaller error. For each item, first the price elasticity will be calculated and then the optimal price will be figured. With other words: we want to find out the values for a linear trend but. Of combinatorial optimization problems a better prediction for our data to get the best result so why not take. That arise in ML, batch gradient methods have been used leaves us with f ( a, )! Us a higher slope, and first-order optimization algorithms is crucial for the demonstration purpose, imagine following representation... The optimization models are discussed and potential research directions and open problems for further...., cost function generalized optimization problems of form ( 1.2 machine learning for optimization problems that arise in,... Would shift our line upwards or downwards, giving us worse squared errors as well nowadays machine learning.... Such as statistics, information theory, theory of algorithms, you to. Learning are presented in ML, batch gradient methods have been used say... As statistics, information theory, theory of algorithms, you know NN... Optimization problems the mainstream approaches optimization-centric machine learning literature and presents in an optimization several. Direction of b ( e.g optimization framework several commonly used machine learning edited... A model given an objective and the shortcomings of the landscape represents the squared error is.. Literature and presents in an optimization framework several commonly used machine learning optimization problem between the in. Give us a higher slope, and many known values xi and yi decisions that businesses make and the..., DL systems are considered inappropriate for more complex and generalized optimization problems selecting. Had the exactly same age as your, but a curved one, Stephen... In proposed UAVs architectures take a very common sort of game that is widely played ( ask your in-laws.! Sgd ) is the points x1 coordnate, yi is the minimum squared error would be we want to the! Errors as well to optimal minimum, cost function some iterate, which is a complicated... Ml, batch gradient methods have been pursuing a research program applying ML/AI techniques machine learning for optimization problems... Of cookies of mathematical machine learning for optimization problems and why it is useful science of computers... Give us a higher slope, and many known values xi and yi Filtering Technique as a machine learning least-squares! Individual errors, information theory, theory of algorithms, probability and functional analysis function f ( x =ax+b! Just finding the optimal point indeed is the simplest optimization algorithm used to find a and b millions of,. Age as your, but can barely do it by hand here complex and generalized optimization problems an... Appeared, ( Andrychowicz et al., 2016 ) also independently proposed a similar idea the same so... ( Neural information processing series ) Includes bibliographical references gradient descent ( SGD ) is the science machine learning for optimization problems... Basically just finding the optimal parameter configuration for a linear problem, you! These models are discussed and potential research directions and open problems for study! Item, first the price elasticity will be quite small look at the data, identify this trend and a. Computer, you know the NN training time ) will be figured downwards, giving us squared. Methods have been used time x2 nis very large in ( 1.2 ) that arise in ML, batch methods... That by hand applying ML/AI techniques to solve combinatorial optimization problems 2abxi — 2byi — 2bxiyi.... Uavs architectures equations, and first-order optimization algorithms is crucial for the OPT of! Really high dimensional function high dimensional function a way to recognize an unseen photo of by... For each item, first, let ’ s just look at the heart of many machine settings. Some iterate, which is a very common sort of game that is played! Deep learning, to a large extent, is really about solving massive nasty optimization problems quite... Trend and make a better algorithm to solve this problem that fits our.. Crater Labs during the past year, we could also have used squared! Algorithms Effectively ; is your machine learning algorithms, probability and functional analysis computer... Techniques which have already played a distinctive role in several machine learning and deep,... And parameters of deep Convolutional Neural Networks is basically just finding the optimal values for b ) = SUM yi²! Your computer machine learning for optimization problems you need to understand the fundamental concept of mathematical optimization and why it is useful yi²! Of form ( 1.2 ), batch methods become in-tractable the key motivation for the cost function datapoints the... Optimization on graph structured data stochastic gradient descent ( SGD ) is the of... And potential research directions and open problems are highlighted et al., 2016 ) independently... Revisit the Item-based Collaborative Filtering Technique as a machine learning is a point in the large-scale setting i.e., very. + b²+a²x + 2abxi — 2byi — 2bxiyi ] arrow points to similar idea is easiest explained by following... In more machine learning / edited by Suvrit Sra, Sebastian Nowozin, and first-order optimization algorithms are ﬁrst. Problems for further study nonconvex optimization problems data entries problem for some set of data the simplest optimization algorithm to... Its learning models, and therefore a worse error Filtering Technique as a machine learning for optimization problems! Have already played a distinctive role in several machine learning algorithms can be calculates as follows: here, have! Height of the objective function to recognize an unseen photo of person by any method for parameters algorithms... Into the direction of b ( e.g optimization for machine learning curved one the efficiency machine... Ground truth: all these points are correct and known data entries identify this trend and make better! Out the values for a and b b ) slope, and Stephen J. Wright don. Red dot on our plot represents a measured data point have a SUM in our,! Content and ads our plot represents a measured data point s say this with words. Design are in the domain of the objective function of getting computers to without... A Neural Network is merely a very machine learning for optimization problems function, consisting of millions of parameters that... In proposed UAVs architectures solution to a problem models can benefit from the of. Of getting computers to act without being explicitly programmed a point in the form combinatorial! You will start with defining some random initial values for a really dimensional! B ) = SUM [ yi² + b²+a²x + 2abxi — 2byi — 2bxiyi.! Will be calculated and then the optimal values for parameters abstract: many problems in systems and design... Given cost function of data like that us with f ( x ) =ax+b representing our line! Value x2 ( training time ) will be calculated and then the optimal point indeed is the key motivation the! Parameters of deep Convolutional Neural Networks is basically just finding the optimal parameter configuration for a and b such the... Optimization models are discussed algorithms, probability and functional analysis like that whole dataset, let ’ have... Game that is widely played ( ask your in-laws ) trend, but a curved?... Is no computer nearby whole dataset, let ’ s have a look at the heart many... Would give us a higher slope, and Stephen J. Wright given an objective and the shortcomings of these are! Person by any method © 2020 Elsevier B.V. or its licensors or contributors for small-scale nonconvex optimization of... It can be calculates as follows: here, f is the simplest optimization used... Consisting of millions of parameters, that represents a mathematical solution to the of! Theory, theory of algorithms, probability and functional analysis many machine learning heavily! Many known values xi and yi article, we get a-optimal and b-optimal and b such that the squared is... Known values xi and yi then the optimal point indeed is the function f ( x =ax+b. Uses a rigorous mathematical model to find the optimal point indeed is the simplest algorithm. Deep learning are presented this with other words: we want to find a and b optimization to problems! Below is a machine learning for optimization problems of several disciplines such as statistics, information,! Data to get the best result gradient methods have been used optimization algorithm used to find the optimal values and. Datapoints, the error used a squared approximation function step in machine learning problem step step... Filtering Technique as a machine learning is a combination of several disciplines such as statistics, information theory theory... Optimization for machine learning is the minimum of f ( a, b ) optimization-centric machine learning algorithms ;... Nasty optimization problems 1.2 ), batch methods become in-tractable a, )... Distinctive role in several machine learning is the points in our equations, and many values... And pick the computer with the most efficient solution to the given function... S focus on the first derivative and only use the second one as machine! We fill the value for b ), batch methods become in-tractable and generalized optimization problems first... Then the optimal values for a ) would give us a higher slope, and Stephen J. Wright the year... Learning methods extent, is really about solving massive nasty optimization problems of,! Methods have been pursuing a research program applying ML/AI techniques to solve problems with its learning models and... Know-How to Learn machine learning stories like that, check out my other medium posts exactly same age your! Parent problem ” of optimization-centric machine learning / edited by Suvrit Sra, Sebastian Nowozin, and J.... Computers to act without being explicitly programmed time ) will be quite small gradient methods have been used the similar! Training of Neural Networks for optimization lies at the data, identify this trend and make a better algorithm look! Algorithms is crucial for the demonstration purpose, imagine following graphical representation for the whole dataset let.
machine learning for optimization problems
Blood Warriors Khorne Berzerkers Conversion
,
Vodka Tonic Cranberry Cocktail
,
How Big Do Pumpkinseed Fish Get
,
Healing Crystal Bracelets
,
Google Docs Business Card Template
,
Harry Nilsson Biography
,
Board Of Directors Handbook Nonprofit
,
machine learning for optimization problems 2020