HomeVideos

The Anatomy of an Optimization Problem

Now Playing

The Anatomy of an Optimization Problem

Transcript

655 segments

0:00

Welcome back. So today I'm excited to

0:03

tell you about the anatomy of an

0:05

optimization problem. Literally what

0:07

makes an optimization problem? How does

0:09

it work? What are all the pieces? Before

0:11

I do that, I want to just remind you

0:13

that optimization is one of the most

0:16

ubiquitous topics in all of applied

0:18

math. It is used everywhere in our

0:21

modern industrial world. Anytime you

0:23

have ever used or trained a neural

0:26

network or any machine learning

0:27

algorithm, you're using optimization to

0:29

minimize the loss function uh of that

0:32

that machine learning model fit. Same

0:35

thing is true for the more classic le

0:37

squares uh regression we use in data

0:39

fitting all the time and in statistics.

0:42

This is true basically all of control

0:44

theory is a constrained optimization

0:46

problem. Uh and most of our industrial

0:50

technologies involve optimization almost

0:52

at every stage. Uh designing engines and

0:55

aerodynamics and materials and you know

0:59

airline logistics and scheduling all of

1:01

this is optimization. So optimization

1:03

really is everywhere. Um I'll have a

1:06

whole lecture on on applications of

1:07

optimization later. But today I want to

1:10

give you uh a really highlevel quick

1:12

overview of what is the anatomy of an

1:15

optimization problem. What are the

1:16

pieces? How do they work? What are they

1:18

called? And what are some of the

1:20

textures that distinguish some

1:21

optimization problems from other

1:23

optimization problems? So, let's get

1:26

started. An optimization problem all

1:29

starts with this humble objective

1:31

function. So, f is our objective

1:34

function. In this case, we're trying to

1:35

minimize f over some variables x. X are

1:39

the variables that we get to optimize

1:41

over. Okay. So, um, you know, maybe I'm

1:45

trying to minimize the cost of something

1:48

or I'm trying to minimize the error of

1:50

my machine learning fit. That would be a

1:53

really good example of an f ofx. This

1:55

could be the sum of the squares of the

1:56

errors of my my machine learning model

1:59

averaged over all of my training data.

2:01

Okay. And so this objective function

2:05

usually I'm going to write f as a

2:07

scaler. I'm going to say that there is

2:08

one thing I'm trying to optimize. It is

2:10

you know again maybe that that sum of

2:12

the squares of the errors and my

2:15

optimization variable the variable I get

2:17

to tweak to minimize this f that might

2:20

be very highdimensional. X might have

2:22

you know one component two component or

2:25

two million components in the case of a

2:27

neural network. I might get to tweak all

2:28

of the weights of all of the layers um

2:30

and all of the connections that might be

2:32

my variables x. Okay so that is my

2:35

objective function. Now, of course,

2:38

sometimes I want to maximize f ofx.

2:40

Maybe I want to maximize profit or

2:42

maximize productivity and that's also

2:45

totally valid. But this is kind of the

2:47

standard form we're going to be writing

2:49

things you in most of the time is as a

2:52

minimization problem. Maximization is

2:55

you know basically just the opposite. So

2:57

everything I say for minimization is

2:59

also going to be true for maximization

3:01

problems. Um and our objective function

3:04

f here in two dimensions. You can see,

3:06

you know, there's lots of of examples of

3:08

f ofxs that we might want to optimize

3:10

over, but here our f ofx is a nice

3:13

simple kind of two-dimensional bowl over

3:15

a two-dimensional state variable

3:17

x. The next ingredient in an

3:20

optimization problem is a set of

3:22

constraint equations. Now, sometimes

3:24

I'll have an unconstrained optimization

3:26

where x can take any value I like as

3:28

long as it is, you know, minimizing f.

3:31

Other times I'm going to have

3:33

constraints on what values X can take.

3:35

There might be constraints like X has to

3:38

be non- negative. I can only have

3:39

positive X's or maybe X's can't be too

3:42

big. I I need, you know, X to be less

3:43

than some value. And there might be more

3:46

complicated uh constraint equations that

3:49

are encoded by these uh these equations

3:52

here. And these come in two flavors.

3:54

There are inequality constraints like g

3:56

of x less than or equal to some

3:58

constant. Uh and equality constraints

4:01

like h ofx equals some constant. Uh and

4:05

you know sometimes again I'll have no

4:07

constraints. Sometimes I will only have

4:09

inequality constraints. Sometimes I will

4:11

only have equality constraints and

4:12

sometimes I'll have mixed constraints.

4:14

And these constraints determine what is

4:17

known as a feasible region or a feasible

4:20

set of X's that are valid to optimize

4:24

this objective function. So this all

4:27

taken together is a kind of well-posed

4:31

optimization problem. I have an

4:32

objective function and I have constraint

4:34

equations that set up a feasible region

4:37

for what values I can uh I can search

4:40

over X to minimize this objective

4:42

function. Good. Um, and I'll talk about,

4:45

you know, these equations and the

4:46

subjective function more. We're going to

4:48

zoom in in just a

4:50

minute. Now, there is a tiny bit of

4:52

ambiguity here, and I want to be just

4:54

really uh careful and clear this one

4:56

time. When I say minimize f ofx, this

5:00

actually could mean one of two things.

5:02

It could mean um return the minimum

5:05

value of the objective function. That's

5:08

this point right here at the bottom of

5:09

the bowl. That's the minimum value of f.

5:12

Or it could mean give me the x that

5:16

minimizes f ofx. That's this point down

5:18

here in this purple feasible set. Now

5:21

technically there are two different

5:22

words that mean uh those two different

5:25

things. Min usually means minimize f and

5:30

arg means the argument x that minimizes

5:34

f ofx. So if I replaced this with arg f

5:38

ofx that would be my way of saying I

5:41

want you to return the x that minimizes

5:44

f ofx. I want to return this point x

5:46

that minimizes my objective function.

5:49

That's what argument means. Min

5:51

generally means just minimizes

5:53

subjective function. Now, if I don't, so

5:57

I think for most of my lectures and most

6:00

of my notes, I'm just going to write

6:01

min. And I'm going to kind of assume

6:04

that, you know, that very often what I

6:06

actually want is both the x and the f

6:09

ofx that minimize this problem. I want

6:12

the xar that minimizes my objective

6:14

function. And I want the value f of

6:17

xstar of my objective function, my that

6:20

minimum value. So if I write min, I very

6:23

well might be saying I want, you know, I

6:25

want to minimize this f ofx and give me

6:28

the x and the f ofx that satisfy that

6:30

minimum. Okay, if I just want the x,

6:33

you're going to see people write

6:35

argument. Okay, and if you want to be

6:36

really kind of, you know, uh, pedantic

6:39

about it, it actually does matter min

6:40

versus argument. But again, I'm mostly

6:42

just going to write min and assume that

6:44

you know what you're looking for. Are

6:45

you looking for the x that minimizes

6:47

this or the minimum value of the

6:49

objective function itself? Kind of a

6:51

subtle difference, but I thought you

6:52

should know. Okay, so again, zooming out

6:55

big picture, this is an optimization

6:57

problem. You have an objective function

6:59

and a set of constraint equations that

7:01

set up a feasible set. So now let's zoom

7:03

into these pieces and look at kind of

7:05

different properties of f and these

7:07

constraint equations.

7:10

So my objective function again is some

7:12

uh function over my optimization

7:15

variables x. Um it could for example be

7:20

the sum of the squares of the errors of

7:22

my least squares fit. This is a really

7:24

nice easy to understand example of

7:26

something that we use optimization for

7:28

all the time. If I have, you know, data

7:31

um, you know, B and A and I'm trying to

7:33

solve for this this vector X that best

7:36

fits this matrix system of equations.

7:38

Um, this is like again a le squares

7:40

regression problem, then I'm trying to

7:43

find the X that minimizes the sum of the

7:45

squares of the errors of every single

7:48

row of this equation. Okay? And that can

7:51

be written as this scalar objective

7:53

function. It's literally the sum of the

7:55

squares of all of those errors of this

7:57

fit. and I'm trying to find an X that

7:59

minimizes this error. That's the least

8:02

squares regression problem. So that's an

8:04

example of an F that actually is kind of

8:07

quadratic. It might be higher

8:08

dimensional than just two variables X1

8:10

and X2. Maybe this is, you know, a

8:12

10-dimensional regression fit, but it

8:14

still is quadratic. This is going to

8:16

give you a quadratic objective

8:19

function. And those quadratic objective

8:21

functions are convex. So convex I'm

8:25

going to have a whole set of lectures on

8:26

what it means to be convex or

8:28

non-convex. But here what I mean is

8:30

convex objective functions have a single

8:33

local a single global minimum uh value.

8:36

And so if you find a local minimum it's

8:39

also a global minimum of a convex

8:41

function. Okay, they're going to have

8:43

positive curvature and be shaped like

8:45

bowls and have a you know a global

8:48

minimum non-convex optimization problem.

8:51

So the the kind of big brother of lease

8:53

squares is machine learning. So trying

8:55

to fit for example a neural network uh

8:58

to best fit my data. So now I'm trying

9:00

to find all of the parameters theta of

9:02

this neural network that minimizes the

9:04

sum of squares of errors and that is

9:07

going to give me a non-convex objective

9:09

function in general. Now this is

9:12

probably a very very very

9:13

highdimensional x here. I call x theta

9:16

because that's what we call it in in

9:17

machine learning in a neural network.

9:19

But this might have a million or a

9:21

billion degrees of freedom that I'm

9:22

optimizing over. And so I can't actually

9:25

visualize or plot f ofx or f of theta.

9:29

But in principle, it's going to be

9:31

nastier than the convex case. It's going

9:33

to be non-convex, meaning there's lo

9:35

lots of local minima. There might be

9:37

saddle points like this point here.

9:39

There might be local maxima. Non-convex

9:42

objective functions can be pretty messy.

9:44

And finding good global minima is very

9:47

very challenging in general. Again, so f

9:50

can be convex or non-convex. It can also

9:53

be very highdimensional and that adds

9:55

challenges. In any case, one of the ways

9:58

I'm going to try to to solve this

10:00

minimization problem is by using the

10:02

gradient of f. So this is another key

10:04

ingredient in the anatomy of an

10:06

optimization problem is the gradient of

10:09

f. So in two dimensions uh the gradient

10:11

is just the vector of partials with

10:13

respect to x1 and x2. In n dimensions

10:16

this would be an n- dimensional vector

10:17

of partial derivatives. And this

10:19

gradient tells me the direction that the

10:21

subjective function is increasing the

10:23

fastest. So for example, if I want to

10:28

try to um minimize the subjective

10:30

function, the minimum value in any of

10:33

these local minima here at the bottom of

10:35

these these bowls are essentially

10:38

regions where grad f is equal to zero.

10:41

These are regions where the kind of

10:42

tangent plane to the bottom uh of this

10:45

local minimum here is flat and it has

10:48

zero inclination. So grad f equals zero.

10:51

So I'm trying to find points X where

10:53

grad F equals 0. Sometimes there are

10:56

analytic solutions like in le squares I

10:58

can actually just write down the X that

11:00

makes this equal to zero. But in other

11:02

cases like neural network training I

11:04

have to make some kind of iterative

11:06

gradient descent algorithm to take

11:08

little steps in the minus grad f

11:11

direction and that will walk me down to

11:13

the local minimum in kind of an optimal

11:16

way. So again for highdimensional uh

11:19

non-convex problems like machine

11:21

learning trading I'll be using this

11:23

gradient but I'll be using some kind of

11:25

stochastic approximation of the gradient

11:28

that is based on subsets of my training

11:30

data. Okay and we'll have a whole

11:31

lecture on gradient descent stoastic

11:33

gradient descent and all of these

11:35

methods later but these are the big kind

11:38

of key ingredients of an objective

11:40

function. Is it convex? Is it

11:42

non-convex? Is it highdimensional or

11:43

lowdimensional? Do I have access to a

11:46

gradient or not? Do I have to

11:48

approximate this? Does it even exist?

11:50

Sometimes my objective function might be

11:52

so jagged and messy that it's not even

11:54

differentiable. And then I'll need a

11:56

whole different class of techniques to

11:58

solve this optimization problem. Okay,

12:00

that's all coming up. So that's the

12:02

objective function. Now we're going to

12:04

dig into these constraint equations.

12:06

This is the other half of our

12:07

optimization problem. So um these

12:10

constraint equations again set up a

12:12

feasible region. Just like our objective

12:14

function could be convex or non-convex.

12:17

Our constraint equations can set up a

12:19

feasible region that is convex or

12:23

nonconvex. Now I'll define what I mean

12:25

by convex uh sets later. But essentially

12:29

you can think of a non-convex set is a

12:31

set that has a little bite taken out. It

12:33

has these little concavities and that

12:35

makes it really really hard to optimize.

12:37

You could imagine this getting, you

12:39

know, even worse. It could be, you know,

12:40

shaped like an octopus that had lots of

12:42

little fingers. And I'd have to go and

12:44

check every single one of those cases.

12:46

And in high dimensions, there might be a

12:48

ton of those little kind of fingers of a

12:51

non-convex optimization set. So convex

12:55

uh feasible sets are much much easier to

12:57

optimize over. Okay, good.

13:00

Now, one of the cases I'm going to see

13:02

the most, one of the most standard types

13:04

of uh constraint equations are linear

13:08

inequality constraints. This is going to

13:10

come up all over the case, all over the

13:12

place are inequality constraints like

13:14

this. And this is kind of what we call

13:16

standard form where you know our x all

13:19

of our x variables have to be non-

13:21

negative. And then I have these

13:22

additional constraint equations uh given

13:25

by these linear matrix

13:27

inequalities. Now, what does it even

13:29

mean? You know if A is a matrix and X is

13:31

a vector and B is a vector. What does it

13:33

even mean for you know Ax is a vector

13:35

what does it mean for a vector to be

13:37

less than or equal to another vector?

13:38

That's a weird concept. What we mean in

13:41

the context of constraint equations is

13:44

this is going to be you know a set of

13:46

basically a set of vector equations.

13:49

Every row every row sets up an

13:52

inequality constraint that has to be

13:54

satisfied. So if ax is less than or

13:56

equal to b, if I have this matrix system

13:58

of equations here, then every row of

14:00

that system of equations will set up an

14:02

inequality that has to be true. The

14:04

first row less than or equal to b1, the

14:07

second row less than or equal to b2, and

14:09

so on and so forth. And every single one

14:11

of those rows has to be satisfied.

14:14

Again, this is a notational thing.

14:15

That's what I mean when I have a matrix

14:18

uh system of linear inequalities.

14:20

Sometimes people will use a special

14:22

funny curly less than where it's kind of

14:25

a pointy curly less than and that's you

14:28

know again uh math speak for what I just

14:31

said that each row is an inequality that

14:34

has to be satisfied. Now this comes up

14:36

all the time uh all the time in

14:38

optimization theory especially in things

14:40

like linear programming which we'll talk

14:41

about soon. Um, if I have a simple

14:45

inequality, if I have some variable X

14:47

and I say X has to be greater than equal

14:50

uh greater than or equal to zero to be

14:51

feasible, that sets up a right half

14:54

plane of feasibility and a left half

14:56

plane of

14:57

infeasibility. And if I have more uh

15:00

inequality constraints, I can get these

15:02

more interesting regions. So this this

15:05

for example uh is determined by four

15:07

inequality constraints. I think I had

15:10

them written down here. So x uh greater

15:12

than or equal to 0 is this half plane. y

15:15

greater than or equal to 0. y less than

15:18

or equal to 2/3 and x + y less than or

15:21

equal to 1. And if all four of those

15:24

inequality constraints have to be

15:25

satisfied, if all four of those

15:26

inequality constraints are satisfied,

15:29

then the only points x that satisfy them

15:31

are in this interior feasible set

15:34

C. And this is what we call a convex

15:37

polytope. Linear inequality constraints

15:40

are always going to give me convex

15:42

polytopes, which is just a fancy name.

15:44

It generalizes kind of a convex polygon

15:47

to higher dimensions to 2D to 3D to ND.

15:50

Even when I can't picture, I know that

15:52

it's going to be this kind of pointy

15:54

well-defined polygon that is convex.

15:57

Okay. Um, so that's really useful. We're

15:59

going to see this all the time. And

16:02

sometimes we're going to take uh what I

16:05

just wrote here, this linear uh

16:06

inequality constraints here, and we're

16:09

going to write that in what's called

16:10

slack variable form. We're going to

16:12

introduce a new variable s that also has

16:15

to be greater than or equal to zero. And

16:17

you can verify, you can pause and verify

16:19

that this is exactly equivalent to what

16:21

I just wrote. I'll derive this more

16:24

later when we talk about linear

16:25

programming.

16:26

uh these variables s are called slack

16:29

variables and they tell me how close I

16:32

am to these various inequality

16:34

constraints. So for each of those

16:35

inequality constraints for each row of

16:37

ax less than or equal to b there's going

16:40

to be a slack variable that tells me how

16:42

close I am to that inequality boundary.

16:46

And that's you know it seems like I

16:47

might have made things more complicated

16:49

but this is really really useful in

16:50

linear programming. for example, when

16:52

we're going to walk from vertex to

16:54

vertex to vertex until we find a local

16:56

optimum solution. So these slack

16:59

variables are going to tell me kind of

17:01

which vertices I'm close to because at

17:04

those vertices those slack variables

17:06

will be equal to zero. Very very useful.

17:08

Again, this is just a common form we're

17:10

going to see a lot. So I'm showing it

17:12

here in this kind of optimization uh

17:15

anatomy. Good. But more generally, my

17:18

constraint equations can be nonlinear

17:20

and messy. I could have g of x less than

17:22

or equal to c where this is a nonlinear

17:24

function. For example, it could be this

17:27

um you know this this unit disc here for

17:29

this nonlinear function g which is x^2 +

17:32

y^2. And again in this case uh this is a

17:35

convex feasible set. But sometimes these

17:37

will be non-convex uh constraint

17:40

equations as well. And if this was an

17:43

equality, if this was, you know, g of x

17:45

equals C, then I would be exactly on the

17:48

circle of radius C. So, you know, if

17:51

it's less than or equal to C, I'm on

17:53

this filled disc, you know, of any

17:55

radius inside of C. If this was an

17:58

equality constraint, I would be on this,

18:00

you know, thin ring of exactly radius

18:03

equal to C. So, that's how equality

18:05

constraints work. Okay. And putting it

18:07

all together, this is the form of an

18:10

optimization problem. We have an

18:11

objective function and we have a set of

18:13

constraint equations. This determines,

18:15

you know, the thing we're trying to

18:16

optimize and the variables we're

18:18

optimizing over and this constrains what

18:21

values x's can take in our attempt to

18:23

minimize the subjective

18:25

function. Okay. Um, so a couple last

18:28

things before I close out. What are some

18:30

of the challenges here? Well, some of

18:32

the big challenges again is if f is

18:36

nonconvex, this immediately becomes a

18:38

much harder optimization problem. Convex

18:41

optimization problems are kind of easy.

18:43

Even if f is nonlinear, if it's convex,

18:47

then there are scalable computational

18:49

algorithms to solve this. So, convex

18:51

optimization problems, you know, are

18:54

largely solved. Non-convex optimization

18:56

problems are much harder. uh similarly

18:59

if it's expensive to compute f. So you

19:03

know I was talking a lot about le

19:04

squares fitting neural network fitting

19:06

where it's relatively cheap to evaluate

19:08

this objective function. I can iterate

19:10

over this thousands if not tens of

19:12

thousands of times to train my neural

19:15

network model or to solve you know my

19:17

constrained le squares problem. But

19:20

sometimes what I'm trying to optimize is

19:21

actually a physical process. Maybe I'm

19:23

trying to optimize the performance of

19:26

some kind of a super alloy.

19:28

Maybe I'm trying to make a new super

19:30

alloy for a jet engine. Uh, and I am

19:34

trying to, you know, optimize the amount

19:36

of nickel and iron and titanium and some

19:39

parameters that parameterize the heating

19:41

and annealing schedule. So maybe X has

19:44

10 variables I'm optimizing over to make

19:46

a new super alloy. And every time I have

19:48

a new value of X and I actually want to

19:50

test this alloy, I have to make it. I

19:52

have to build this thing. I have to put

19:54

it in an oven, bake this alloy, put it

19:56

through stress tests. This takes, you

19:58

know, engineers time and money. Maybe it

20:01

costs

20:02

$10,000 to evaluate my objective

20:05

function one time if I'm designing a

20:07

super alloy. Or if I'm building a

20:09

Formula 1 car and I want to test, you

20:11

know, some new design, it could be very,

20:13

very expensive to actually build that

20:16

new, you know, front fin and test it. It

20:18

could cost tens of thousands of dollars,

20:20

if not more, to evaluate F. So sometimes

20:24

it's cheap to evaluate f, sometimes it's

20:26

very very expensive and that completely

20:29

changes which algorithm I'm going to use

20:31

to try to optimize uh my objective

20:34

function. Okay, just like my uh

20:37

objective function can be convex or

20:39

non-convex again my feasible set given

20:41

by these constraint equations can be

20:42

convex or non-convex. If these are

20:46

nonconvex again that makes my my

20:48

optimization problem much much more

20:50

challenging. So my problem is convex if

20:54

both the objective function and the

20:56

feasible set are convex. In that case

20:58

it's kind of an easy problem. But if

21:01

either of these are non-convex then I

21:03

have a hard optimization problem on my

21:05

hands and I need bespoke custom

21:07

solutions. Okay, usually some kind of an

21:09

iterative solution or some kind of a

21:11

stochastic solution and I'm not

21:14

guaranteed to find globally optimal

21:15

solutions uh very

21:18

often. Okay. Um, if this is a

21:20

highdimensional variable X, again, like

21:22

I'm training a neural network and I've

21:24

got, you know, millions of free

21:25

parameters, that makes this quite a lot

21:27

more challenging. I have to use special

21:29

custom algorithms to train these if it's

21:31

highdimensional.

21:33

Um, if the problem is illconditioned,

21:35

I'll tell you what that means later, but

21:37

even for a convex problem where I have a

21:39

nice bowl for f, if that bowl is

21:42

squished so that one direction is way

21:44

kind of skinnier or more elongated than

21:46

the other, that makes it a harder

21:48

optimization problem. In general, it's

21:51

harder uh to find good solutions if I

21:53

have that kind of weird illing in my

21:55

variables. So, we'll talk about that um

21:58

more later.

21:59

Uh and then again, sometimes I have

22:02

gradients. Sometimes I even have second

22:03

derivative information of f that makes

22:05

it a lot easier to optimize. Sometimes I

22:08

have no gradient information. Either my

22:10

gradient of f doesn't exist because it's

22:12

too jagged and non smooth or I can't

22:16

write it down. I have to approximate it

22:18

uh using something like stochastic

22:19

gradient descent. Okay, so again uh all

22:22

of those are challenges and each of

22:24

those sets up different kind of big

22:26

classes of optimization techniques that

22:29

we would use to solve this problem.

22:31

Okay, so last thing I want to tell you

22:33

is just two of the most important big

22:35

classes that we're going to see a lot.

22:37

One of them is linear programming. This

22:38

is one type of optimization uh problem

22:41

where we have a linear objective

22:43

function. This is just a vector of

22:46

constants times my vector x. That's just

22:48

the inner product of you know a vector

22:50

of constants times my vector x. So it's

22:52

c1 x1 plus c2x2 plus you know dot dot

22:55

dot. So linear objective function linear

22:58

constraint equations that gives me a

23:00

linear programming problem and this is

23:02

always convex. So this is a huge

23:05

category of convex optimization

23:07

problems. This is used all the time in

23:10

finance, logistics, uh supply chains, uh

23:14

flight scheduling, you know, so many

23:17

different problems can be written as

23:19

linear programs. We're going to have a

23:20

whole chapter and a whole unit on linear

23:23

programs. Quadratic programs are also

23:26

really really important and are one of

23:29

the kind of big classes of optimization

23:31

problems. Again, we have linear

23:33

inequality constraints for our feasible

23:35

set X. Um but now our objective function

23:38

can be quadratic functions. So here this

23:41

is a quadratic function of x. Um since x

23:46

is a vector, the way that we write

23:47

quadratic functions of x is to take x

23:50

transpose. So that's a row vector times

23:52

my matrix q * a column vector. If you

23:55

multiply that all together, you get a

23:57

scalar function that has quadratic terms

23:59

in all of the components of x. And this

24:03

is a huge class of optimization problems

24:05

that we will concern ourselves with. If

24:08

this matrix Q is what's called positive

24:10

semidefinite if it doesn't have any kind

24:12

of negative uh en values then um this

24:17

problem will be convex. I will have a

24:20

simple kind of positive curvature bowl

24:22

with a global minimum.

24:25

If Q is negative semidefinite or

24:28

indefinite, if it has, you know, if it's

24:30

um more complicated, then this thing

24:33

could have saddle points, local maxima,

24:35

and all bets are off. It would be a

24:36

non-convex problem. But if Q is positive

24:38

semidefinite, then this quadratic

24:40

programming problem becomes nice and

24:42

convex. All of le squares fits under

24:45

this framework. So again, this will be a

24:46

whole chapter and a whole unit. and

24:48

really important things we've seen

24:50

before like le squares and singular

24:52

value decomposition live in this kind of

24:54

quadratic

24:56

world and then we'll you know look at

24:58

more complicated functions f like neural

25:00

network training and inverse problems

25:02

control theory problems but all of those

25:05

kind of all optimization can be put into

25:08

this general framework um you know with

25:11

an objective function and constraint

25:13

equations that set up a feasible space

25:16

and these are some of the challenges

25:17

that guide what method to apply to what

25:20

problem. Okay, that's the anatomy of an

25:22

optimization problem. We're going to go

25:23

way more into depth on each of these

25:25

topics. Uh looking forward to it. Thank

25:28

you.

Interactive Summary

This lecture provides an overview of the fundamental anatomy of an optimization problem, which consists of an objective function and a set of constraint equations that define a feasible region. It explores different types of optimization, such as convex versus non-convex problems, and discusses how the characteristics of the objective function (like its dimensionality or differentiability) and the computational cost of evaluating it influence the choice of algorithms. The instructor also highlights major classes of optimization problems, including linear and quadratic programming, as essential tools used across various fields.

Suggested questions

4 ready-made prompts