1
00:00:00,450 --> 00:00:03,082
Okay, guys, this is discrete, discrete
optimization.

2
00:00:03,082 --> 00:00:07,188
And this lecture is actually as important
as, as the material itself.

3
00:00:07,188 --> 00:00:09,624
It's basically about how you should look
at these

4
00:00:09,624 --> 00:00:12,910
assignments and what are the various way
of approaching them.

5
00:00:12,910 --> 00:00:13,740
Right?

6
00:00:13,740 --> 00:00:17,461
So in a sense what you're going to do is
what, what's going to happen to you is

7
00:00:17,461 --> 00:00:19,840
going to do, you're going to get problems
that are

8
00:00:19,840 --> 00:00:22,224
basically thrown to you in your face,
right.

9
00:00:22,224 --> 00:00:23,238
And you're going to get them.

10
00:00:23,238 --> 00:00:23,472
Boom!

11
00:00:23,472 --> 00:00:25,352
And you're going to say, why is happening
to me,

12
00:00:25,352 --> 00:00:27,600
right?
And you're going to say, how do I do this?

13
00:00:27,600 --> 00:00:29,340
How, and, and, and the more you look at
these

14
00:00:29,340 --> 00:00:32,120
problems initially, you're going to say,
wow, this is completely insane.

15
00:00:32,120 --> 00:00:35,690
Okay, and so, so, I want to tell you
basically in this

16
00:00:35,690 --> 00:00:38,870
lecture how you can actually approach this
thing in a reasonable fashion.

17
00:00:38,870 --> 00:00:43,430
And then I want to discuss the various way
these approaches can be, can be applied

18
00:00:43,430 --> 00:00:44,610
to get a good grade, a passing

19
00:00:44,610 --> 00:00:47,340
grade, a certificate, or a certificate of
distinction.

20
00:00:47,340 --> 00:00:50,250
Giving you some advice on how you can do
this.

21
00:00:50,250 --> 00:00:53,050
Okay?
So, so, the assignment design.

22
00:00:53,050 --> 00:00:56,280
The assignments have been designed to
emulate, you know, the real world.

23
00:00:56,280 --> 00:00:58,980
So, okay, so, so you have learn, you think
about it.

24
00:00:58,980 --> 00:01:02,540
Your boss is going to tell you, okay, so
we need to solve the problem.

25
00:01:02,540 --> 00:01:04,120
And, and, you have to figure out how to do
it.

26
00:01:04,120 --> 00:01:06,268
It's not going to, tell you how to do it.

27
00:01:06,268 --> 00:01:08,390
He's just going to tell you, this is the
one I want

28
00:01:08,390 --> 00:01:11,190
as a solution, this is what, the problems
that I want to solve.

29
00:01:11,190 --> 00:01:13,070
You know, get you're act together, solve
it, okay?

30
00:01:13,070 --> 00:01:15,410
So it's like Kennedy, you know in the 60s
when

31
00:01:15,410 --> 00:01:19,400
he told, you know, the, you know he told
America okay so we want to send

32
00:01:19,400 --> 00:01:23,420
a man on the moon, okay by the end of the
decade, the decade, right?

33
00:01:23,420 --> 00:01:26,330
So he said that, but he didn't say, okay
we have to build a

34
00:01:26,330 --> 00:01:29,850
rocket, we have to find this, you know, to
solve this kinds of scientific problems.

35
00:01:29,850 --> 00:01:31,210
We have to find people who are capable

36
00:01:31,210 --> 00:01:33,730
of actually flying this rocket and thinks
like this.

37
00:01:33,730 --> 00:01:35,360
No, he didn't care, right?

38
00:01:35,360 --> 00:01:37,600
The only thing that he wanted is solve me
this

39
00:01:37,600 --> 00:01:40,690
problem so I don't care if your rocket
looks blue,

40
00:01:40,690 --> 00:01:44,130
red, you know, it's wide or thin or
whatever, right?

41
00:01:44,130 --> 00:01:46,540
And so this is, this is what this class is
about, okay.

42
00:01:46,540 --> 00:01:48,740
We're going to throw problems at your
face, and

43
00:01:48,740 --> 00:01:50,540
we won't tell you how to solve them.

44
00:01:50,540 --> 00:01:52,360
We'll give you the means to actually solve
them.

45
00:01:52,360 --> 00:01:55,490
We'll give you, you know, the equivalent
of the physics, or the, you

46
00:01:55,490 --> 00:01:59,620
know, engineering that you need to build
the rocket for, for discrete optimization.

47
00:01:59,620 --> 00:02:01,400
But we won't tell you which pieces you
have

48
00:02:01,400 --> 00:02:03,810
to assemble for, you know, for it to work.

49
00:02:03,810 --> 00:02:06,140
Okay?
So we basically give you the problems, and

50
00:02:06,140 --> 00:02:08,480
you have to find a way to solve them,
okay?

51
00:02:08,480 --> 00:02:09,950
Now how you solve the problem?

52
00:02:09,950 --> 00:02:11,780
Okay, so we have this hat, right?

53
00:02:11,780 --> 00:02:13,700
So you use the first one, you see if it
works.

54
00:02:13,700 --> 00:02:14,360
Doesn't work?

55
00:02:14,360 --> 00:02:15,480
Use another one, right?

56
00:02:15,480 --> 00:02:19,250
So, but we won't tell you which one is to
be used, right.

57
00:02:19,250 --> 00:02:22,570
For one particular assignment, this one is
actually tricky, right.

58
00:02:22,570 --> 00:02:24,840
So for one particular assignment, it's not

59
00:02:24,840 --> 00:02:27,620
very clear which hat is going to work
Okay?

60
00:02:27,620 --> 00:02:31,840
So you may have to try several of them
before you actually find a solution.

61
00:02:31,840 --> 00:02:32,470
Okay?

62
00:02:32,470 --> 00:02:36,560
And what the goal of the class is, is
about, you know, actually

63
00:02:36,560 --> 00:02:39,960
finding which of these hat is actually
good for which of these problems.

64
00:02:39,960 --> 00:02:43,450
What is the real, you know, asset of
these, the, these hats?

65
00:02:43,450 --> 00:02:46,040
For what classes of problems are they
good, and so on.

66
00:02:46,040 --> 00:02:46,830
Okay?

67
00:02:46,830 --> 00:02:50,100
So, this is really heavy so let me, you
know, bring that down.

68
00:02:50,100 --> 00:02:54,280
Okay, so, so to get started, you know, you
have to imagine yourself

69
00:02:54,280 --> 00:02:56,860
in a company, and your job, this is the
only way to, to,

70
00:02:56,860 --> 00:02:58,390
this is the only important part.

71
00:02:58,390 --> 00:03:00,420
You have to imagine that your job, you
know, your boss

72
00:03:00,420 --> 00:03:02,850
is coming and saying, you know, you have
to solve these problems.

73
00:03:02,850 --> 00:03:04,050
Okay, get to work.

74
00:03:04,050 --> 00:03:04,710
Okay?

75
00:03:04,710 --> 00:03:07,570
So what we recommend is that the first
thing you do, is

76
00:03:07,570 --> 00:03:10,950
you implement something really simple, you
know, kind of a greedy solution.

77
00:03:10,950 --> 00:03:12,760
Get an understanding of the problem.

78
00:03:12,760 --> 00:03:14,650
Know that you actually solve the problem,
okay?

79
00:03:14,650 --> 00:03:15,750
You understand it.

80
00:03:15,750 --> 00:03:19,180
You, you have, you know, you know all the
facets of these problems.

81
00:03:19,180 --> 00:03:21,996
You know that you have a feasible
solution, you know that you, you can solve

82
00:03:21,996 --> 00:03:23,010
this problem.

83
00:03:23,010 --> 00:03:25,760
Then you go to your boss and you say look
you know, I have a solution

84
00:03:25,760 --> 00:03:27,749
You know, and, and, look, this solution is

85
00:03:27,749 --> 00:03:29,949
improving the practice in this company by
20%.

86
00:03:29,949 --> 00:03:32,499
You know, this is great, you know, you
come to your boss and

87
00:03:32,499 --> 00:03:35,521
you get him excited, and your boss say
wow, wow, this guy went fast.

88
00:03:35,521 --> 00:03:36,923
Of course, your boss is probably not
stupid.

89
00:03:36,923 --> 00:03:39,002
He's going to say, hm, if he did that in a

90
00:03:39,002 --> 00:03:41,525
week or in two days, he probably can do
better.

91
00:03:41,525 --> 00:03:45,480
So he's going to look at you and say, yeah
yeah but can you do better than that?

92
00:03:45,480 --> 00:03:47,434
Okay, and that's the second step.

93
00:03:47,434 --> 00:03:49,270
And the second step is about looking at
your

94
00:03:49,270 --> 00:03:51,973
greedy algorithm, or whatever solution you
came with first,

95
00:03:51,973 --> 00:03:53,809
and trying to analyze it and trying to
see,

96
00:03:53,809 --> 00:03:55,808
to, to, to see if you can do better,
right?

97
00:03:55,808 --> 00:03:58,998
And typically you are going to move to
more sophisticated solution when

98
00:03:58,998 --> 00:04:02,811
you do that, CP MIP, you know dynamic
programming, local search, whatever.

99
00:04:02,811 --> 00:04:05,411
Okay, and so in this particular case, you
will

100
00:04:05,411 --> 00:04:08,076
try to improve, you know, what you had
before,

101
00:04:08,076 --> 00:04:10,416
but you have a baseline that you can
compare

102
00:04:10,416 --> 00:04:12,760
to at this point and see how best you can.

103
00:04:12,760 --> 00:04:14,210
And so you can go back to your boss and

104
00:04:14,210 --> 00:04:17,590
say, wow boss, you know, I have a 30%
improvement now.

105
00:04:17,590 --> 00:04:19,590
And so your boss is going to say, wow this
is great.

106
00:04:19,590 --> 00:04:22,250
And then of course he's not completely
stupid you say, this guy improve

107
00:04:22,250 --> 00:04:26,180
it by 20%, and now by 30% more, so when
are we going to stop?

108
00:04:26,180 --> 00:04:28,820
You know, how long, you know what do I
know, okay?

109
00:04:28,820 --> 00:04:31,370
And this is the part where it's probably,

110
00:04:31,370 --> 00:04:34,140
you know very important for you to relax,
okay?

111
00:04:34,140 --> 00:04:37,830
And try to find, you know some quality
guarantees that you can

112
00:04:37,830 --> 00:04:38,770
give to your solution.

113
00:04:38,770 --> 00:04:41,410
Okay so you want not only to find good
solutions, but also

114
00:04:41,410 --> 00:04:44,600
find, kind of a way to say, how good can I
be?

115
00:04:44,600 --> 00:04:45,230
Okay?

116
00:04:45,230 --> 00:04:48,090
And so these are essentially the three
phases that you can go through.

117
00:04:48,090 --> 00:04:49,410
Start, you know, easy.

118
00:04:49,410 --> 00:04:49,960
Okay?

119
00:04:49,960 --> 00:04:53,410
Solve the problem, see how best you can
solve the problem, then improve.

120
00:04:53,410 --> 00:04:57,314
And then afterwards find optimal solution,
or find you know something

121
00:04:57,314 --> 00:05:00,210
that tells you, that can tell you how good
you are.

122
00:05:00,210 --> 00:05:00,860
Okay?

123
00:05:00,860 --> 00:05:03,254
So start simple, you know, build on it,
and

124
00:05:03,254 --> 00:05:04,955
you know, make sure that you can

125
00:05:04,955 --> 00:05:08,910
progress, you know into more sophisticated
solution, okay?

126
00:05:08,910 --> 00:05:11,530
But start easy, so that you know what
you're doing.

127
00:05:11,530 --> 00:05:13,150
Okay, so in a sense what we

128
00:05:13,150 --> 00:05:15,490
are recommending, you always start with
something easy,

129
00:05:15,490 --> 00:05:16,770
and then you have two approach, either

130
00:05:16,770 --> 00:05:19,310
a quality based approach or a scalability
approach.

131
00:05:19,310 --> 00:05:21,440
And I'll come back to this but some of the
problems that

132
00:05:21,440 --> 00:05:25,080
you will encounter are very difficult to
solve for very large sizes.

133
00:05:25,080 --> 00:05:28,280
So you would have to look at very scalable
solution to get good solution

134
00:05:28,280 --> 00:05:30,810
to, to some of these larger instances.

135
00:05:30,810 --> 00:05:32,110
On the other hand, some of these
techniques

136
00:05:32,110 --> 00:05:34,000
may not give you the best quality
solution.

137
00:05:34,000 --> 00:05:35,860
So you may look at Constraint programming
or

138
00:05:35,860 --> 00:05:39,290
Mixed Integer Programming to actually get
better solution.

139
00:05:39,290 --> 00:05:40,820
And of course, what you al, we also

140
00:05:40,820 --> 00:05:43,240
want is that you actually use both
approaches, and

141
00:05:43,240 --> 00:05:45,980
potentially combine them to get very high
quality

142
00:05:45,980 --> 00:05:48,920
solution on some, on all of the instances,
okay?

143
00:05:48,920 --> 00:05:50,970
So in a sense, once again, this is about
starting

144
00:05:50,970 --> 00:05:53,450
slow, and then building using the blocks
that we do,

145
00:05:53,450 --> 00:05:55,590
hats that we are giving you, and trying to

146
00:05:55,590 --> 00:05:58,520
get to, you know, really high quality
solution everywhere.

147
00:05:58,520 --> 00:05:59,300
Okay?

148
00:05:59,300 --> 00:06:00,860
So the grading, you know, once again.

149
00:06:02,270 --> 00:06:03,700
The grading is going to be based on the

150
00:06:03,700 --> 00:06:06,290
recognition that there is no silver bullet
in optimization.

151
00:06:06,290 --> 00:06:08,840
Even for us, when we are giving a new
problem it's

152
00:06:08,840 --> 00:06:12,180
not always obviously clear, you know, what
is the best solution?

153
00:06:12,180 --> 00:06:13,750
And what is going to scale and how we
model

154
00:06:13,750 --> 00:06:16,820
the problems and, you know, what we can
expect, okay?

155
00:06:16,820 --> 00:06:18,670
So in a sense, the assignments

156
00:06:18,670 --> 00:06:22,080
that you are going to see here are
intentionally insane, okay?

157
00:06:22,080 --> 00:06:24,180
So they are going to make sure, that

158
00:06:24,180 --> 00:06:26,810
one particular assignment, you know one
technique is

159
00:06:26,810 --> 00:06:28,400
not going to work for all part of the

160
00:06:28,400 --> 00:06:31,590
assignments unless you are really, really
really clever, okay.

161
00:06:31,590 --> 00:06:33,650
But most of the time, some of the
techniques will work on

162
00:06:33,650 --> 00:06:36,370
some of the instances, other techniques
will work on other ones, okay.

163
00:06:36,370 --> 00:06:37,580
It's done on purpose.

164
00:06:37,580 --> 00:06:40,750
So that to get a sense of not only
exponential growth,

165
00:06:40,750 --> 00:06:43,970
but also the fact that, wow the structure
of the problem is

166
00:06:43,970 --> 00:06:45,750
really important.
Okay?

167
00:06:45,750 --> 00:06:49,850
And so, so this is the insane part, but we
are also very flexible, okay?

168
00:06:49,850 --> 00:06:54,140
So we give you ways to succeed, and
different ways to succeed, okay.

169
00:06:54,140 --> 00:06:56,900
And you can for instance take a
scalability or, you know

170
00:06:56,900 --> 00:07:00,040
a quality approach, and they will be both
fine in the class.

171
00:07:00,040 --> 00:07:01,600
You can say okay, so I'm only focusing

172
00:07:01,600 --> 00:07:04,980
on scalability, and trying to get
solutions to everything.

173
00:07:04,980 --> 00:07:06,850
Or I'm going to try to get the best
solution

174
00:07:06,850 --> 00:07:08,830
to some of the instance and, and you know,

175
00:07:08,830 --> 00:07:13,342
kind of solutions, you know, maybe not
high quality solution, on the other ones.

176
00:07:13,342 --> 00:07:15,410
There are, these two ways are going to be

177
00:07:15,410 --> 00:07:18,950
ways to actually be successful in this
particular class.

178
00:07:18,950 --> 00:07:22,578
Let me give you a little bit of a sense of
this

179
00:07:22,578 --> 00:07:27,730
of this, of these two ways of actually
approaching the problem, okay?

180
00:07:27,730 --> 00:07:29,770
So when you look at the particular problem
and let's say,

181
00:07:29,770 --> 00:07:32,270
so typically we six part in every one of
these problems.

182
00:07:32,270 --> 00:07:34,050
Let's say that four are reasonably small,

183
00:07:34,050 --> 00:07:35,450
two are really large, okay?

184
00:07:35,450 --> 00:07:39,230
So if you do a, you know a, qualitative,
but if you do an approach which

185
00:07:39,230 --> 00:07:41,750
is based on finding high quality solution,
you

186
00:07:41,750 --> 00:07:44,470
may get the top grade, like say ten, okay.

187
00:07:44,470 --> 00:07:48,139
On four of them and then a low grade on,
on, on two of them.

188
00:07:48,139 --> 00:07:50,043
And that's going to give you an average a,

189
00:07:50,043 --> 00:07:52,340
a value of 46 on that particular
assignment.

190
00:07:52,340 --> 00:07:56,030
And that's a, that's a number for which
you can get a certificate of completion.

191
00:07:56,030 --> 00:07:59,060
You can also do the opposite thing, which
is okay, so I'm going to focus on

192
00:07:59,060 --> 00:08:02,370
scalability, get good solutions, okay,
like you

193
00:08:02,370 --> 00:08:04,340
know seven, on all of these problems.

194
00:08:04,340 --> 00:08:09,140
And you get 6 times 7, which is 42 Which
is also enough to get you a certificate.

195
00:08:09,140 --> 00:08:11,950
Okay, so these are the two ways to do
this, okay.

196
00:08:11,950 --> 00:08:15,010
An, and this is the two way you can
actually get a certificate in the class.

197
00:08:15,010 --> 00:08:18,500
If you want a certificate of distinction,
you probably need to combine these two.

198
00:08:18,500 --> 00:08:20,876
Now, one of the real thing that I wanted
you

199
00:08:20,876 --> 00:08:23,637
to focus on is that first get good grades,
okay?

200
00:08:23,637 --> 00:08:24,077
So don't

201
00:08:24,077 --> 00:08:25,807
focus on getting tense everywhere.

202
00:08:25,807 --> 00:08:29,055
You have plenty of opportunities, and I'm
going to talk about how to

203
00:08:29,055 --> 00:08:33,450
approach the class from a, you know, time
optimization standpoint in a moment.

204
00:08:33,450 --> 00:08:35,940
But try first to get good grades
everywhere.

205
00:08:35,940 --> 00:08:36,840
And then beef them up.

206
00:08:36,840 --> 00:08:39,660
You'll see you have a lot of opportunities
to do that.

207
00:08:39,660 --> 00:08:42,170
Okay?
So, and, this is the key point, okay?

208
00:08:42,170 --> 00:08:45,339
So, so, if you take the first assignment,
don't get obsessed, okay?

209
00:08:45,339 --> 00:08:47,071
It's very easy to get obsessed in
optimization.

210
00:08:47,071 --> 00:08:49,067
You see this thing, and you want to get a
ten.

211
00:08:49,067 --> 00:08:53,234
You see another guy getting a ten and you
say, oh, you know, I have to get a ten.

212
00:08:53,234 --> 00:08:55,160
You know, you get, you know, completely
frustrated.

213
00:08:55,160 --> 00:08:55,570
Don't.

214
00:08:55,570 --> 00:08:56,170
Okay?

215
00:08:56,170 --> 00:08:59,050
Maybe the person knows more than you do,
okay, at this point.

216
00:08:59,050 --> 00:09:03,310
Okay, but this class will give you
everything you need to get a ten.

217
00:09:03,310 --> 00:09:03,770
Okay?

218
00:09:03,770 --> 00:09:05,000
It's just going to come over time.

219
00:09:05,000 --> 00:09:07,200
So you can go, do these assignments, get

220
00:09:07,200 --> 00:09:10,370
sevens, so you'll, and be pretty happy,
okay?

221
00:09:10,370 --> 00:09:14,200
And then at the end, you say hm, but this
techniques, I could apply to this first

222
00:09:14,200 --> 00:09:15,870
problem that I actually solve.

223
00:09:15,870 --> 00:09:18,270
And now I know exactly how to solve, you
get back

224
00:09:18,270 --> 00:09:21,500
to it, and in like two minutes, I mean,
I'm exaggerating, right?

225
00:09:21,500 --> 00:09:24,750
So you get a time, okay?
So this is what this class is all about.

226
00:09:24,750 --> 00:09:26,800
You're going to learn things, and then you
can go back

227
00:09:26,800 --> 00:09:30,260
in the past, fix your solution, and get
much better grades.

228
00:09:30,260 --> 00:09:32,690
Okay, so don't, don't get stuck on a
particular problem.

229
00:09:32,690 --> 00:09:34,870
Don't get completely obsessive, okay?

230
00:09:34,870 --> 00:09:36,935
So in the past, some people have become so

231
00:09:36,935 --> 00:09:39,295
obsessive that, you know, it was like way
to,

232
00:09:39,295 --> 00:09:42,270
you know, cool them down, okay?
So we don't want that to happen.

233
00:09:42,270 --> 00:09:43,510
Get good grades, come back to the

234
00:09:43,510 --> 00:09:45,510
assignment, and get better grades later
on.

235
00:09:45,510 --> 00:09:46,440
Okay?

236
00:09:46,440 --> 00:09:49,180
So, so you will have a lot of time also at
the end.

237
00:09:49,180 --> 00:09:51,220
I mean not a lot of time, a reasonable
amount of

238
00:09:51,220 --> 00:09:53,730
time to go back and fix the solution at
the end.

239
00:09:53,730 --> 00:09:56,640
There is a buffer at the end, just for you
to do that.

240
00:09:56,640 --> 00:09:58,680
And a lot of people are basically
exploiting this.

241
00:09:58,680 --> 00:10:01,200
Okay, so let me, let me, let, let, let me
then

242
00:10:01,200 --> 00:10:04,510
talk about one last topic, which is how
you should approach this

243
00:10:04,510 --> 00:10:08,050
class, such that it's, if, you know, you
keep a reasonable

244
00:10:08,050 --> 00:10:11,820
level of happiness during, you know, the
time you take this class.

245
00:10:11,820 --> 00:10:14,960
You still get a social life, you still are
in a good mood,

246
00:10:14,960 --> 00:10:18,050
you don't lose all your friends, your
spouse, and all these things, okay?

247
00:10:18,050 --> 00:10:20,470
And so let me give you an analogy, okay.

248
00:10:20,470 --> 00:10:24,748
So the analogy is, you know, last year,
well, no, in 2013 when, when

249
00:10:24,748 --> 00:10:27,166
actually Raphael Nadal won Roland Garros,
he

250
00:10:27,166 --> 00:10:29,646
was interviewed by, you know, somebody in
the

251
00:10:29,646 --> 00:10:33,810
tournament, and they were asking me, how
does it feel to win the tournament?

252
00:10:33,810 --> 00:10:36,672
And Nadal, you know, this great tennis
champion said, well,

253
00:10:36,672 --> 00:10:39,322
you know, I'm going to be happy for two
weeks, it's great.

254
00:10:39,322 --> 00:10:42,598
And so you see this guy training like a
beast for

255
00:10:42,598 --> 00:10:46,670
50 weeks and then he's happy two weeks of
the year?

256
00:10:46,670 --> 00:10:47,950
This is terrible right?

257
00:10:47,950 --> 00:10:51,380
That, I don't want that to happen to you.
Okay, so look at this graph.

258
00:10:51,380 --> 00:10:52,810
This is your level of happiness.

259
00:10:52,810 --> 00:10:55,610
It's also your level of confidence
technical

260
00:10:55,610 --> 00:10:58,810
confidence in general.
And, so what you will see here is time.

261
00:10:58,810 --> 00:11:02,210
And this is the time during the class,
okay, or during an assignment.

262
00:11:02,210 --> 00:11:05,350
And you will usually start with, you know,
a lot of confidence, a lot of

263
00:11:05,350 --> 00:11:07,540
happiness, you come there, you design this

264
00:11:07,540 --> 00:11:11,350
amazingly beautiful solution, and you
start coding it.

265
00:11:11,350 --> 00:11:14,160
And then as you code it, you know, and you
fix things, and you

266
00:11:14,160 --> 00:11:15,830
fix things, your level of happiness is

267
00:11:15,830 --> 00:11:18,380
decreasing, your level of confidence is
decreasing.

268
00:11:18,380 --> 00:11:20,570
You kind of get desperate, desperate.

269
00:11:20,570 --> 00:11:23,640
You know, it's a pain to actually work on
this, and this, and then at

270
00:11:23,640 --> 00:11:27,440
the very end, wow, you get a big high,
because this thing's turned out to work.

271
00:11:27,440 --> 00:11:28,160
Okay.

272
00:11:28,160 --> 00:11:31,660
No, so, this is essentially what Raphael
Nadal is experiencing.

273
00:11:31,660 --> 00:11:34,630
He's training like a beast, and then he
has these two weeks where he's happy.

274
00:11:34,630 --> 00:11:36,720
For you, it's going to be basically, let's
say a week

275
00:11:36,720 --> 00:11:39,280
of work and then, two minutes where you
will be happy.

276
00:11:39,280 --> 00:11:41,100
We don't want that.
Okay?

277
00:11:41,100 --> 00:11:42,405
Because you will have to, you know, go

278
00:11:42,405 --> 00:11:43,810
that, do the next assignments at that
point.

279
00:11:43,810 --> 00:11:45,570
We don't want, that's not what we want

280
00:11:45,570 --> 00:11:46,990
you to do, okay?

281
00:11:46,990 --> 00:11:50,060
So what we want you to do is something
like this, okay?

282
00:11:50,060 --> 00:11:54,460
So you start, you know, at the reasonable
level of, of happiness and confidence,

283
00:11:54,460 --> 00:11:56,220
and then you start building something
which

284
00:11:56,220 --> 00:11:58,010
is easy, let's say a greedy algorithm.

285
00:11:58,010 --> 00:12:01,530
Your confidence decreased, but not very
much, because this is pretty simple.

286
00:12:01,530 --> 00:12:03,780
And then you get a solution, and you get a
first high.

287
00:12:03,780 --> 00:12:04,745
And you say wow, okay.

288
00:12:04,745 --> 00:12:06,905
So hm, I'm happy, you know, I have
something

289
00:12:06,905 --> 00:12:09,590
that works, you know, and you say, good,
okay.

290
00:12:09,590 --> 00:12:10,940
Then you start looking around,

291
00:12:10,940 --> 00:12:12,840
you see, oh, but maybe there are people

292
00:12:12,840 --> 00:12:14,998
with better solution, maybe I can improve
this.

293
00:12:14,998 --> 00:12:17,712
And you start coding, let's say, local
search solution.

294
00:12:17,712 --> 00:12:21,177
And so it takes a little bit of confidence
away from your level of happiness.

295
00:12:21,177 --> 00:12:24,093
You have to work a little bit harder.
You don't see your friend as much.

296
00:12:24,093 --> 00:12:25,591
But then you have another high.

297
00:12:25,591 --> 00:12:26,684
You know, wow.

298
00:12:26,684 --> 00:12:29,194
We have a really good quality solution at
this point.

299
00:12:29,194 --> 00:12:32,486
And you say, oh wow, now this is good,
this is good.

300
00:12:32,486 --> 00:12:35,466
Now you have a lot of confidence, see here
your confidence is increasing.

301
00:12:35,466 --> 00:12:36,159
And you say,

302
00:12:36,159 --> 00:12:39,671
oh no but now I want some kind of
guarantees on how good I am, okay?

303
00:12:39,671 --> 00:12:42,733
And you say oh, let me try a MIP approach
to actually get that guarantee.

304
00:12:42,733 --> 00:12:44,190
That's a little bit tougher.

305
00:12:44,190 --> 00:12:47,700
You know, your confidence and your level
of happiness is going to decrease.

306
00:12:47,700 --> 00:12:51,400
But you know it's a very short amount of
time here, and then wow, a big high.

307
00:12:51,400 --> 00:12:53,190
Now, I know how good I am, right?

308
00:12:53,190 --> 00:12:57,220
And you said, this is good, this is good,
another high and, you know, even higher.

309
00:12:57,220 --> 00:12:59,044
But you say, well, but this MIP solution
for

310
00:12:59,044 --> 00:13:00,892
this [UNKNOWN] problem is like a dog you
know?

311
00:13:00,892 --> 00:13:01,197
Let me

312
00:13:01,197 --> 00:13:03,890
try CP to actually do better in terms of
efficiency.

313
00:13:03,890 --> 00:13:08,930
And then you get the final high, where you
get this beautiful CP solution at the end.

314
00:13:08,930 --> 00:13:09,460
Okay?

315
00:13:09,460 --> 00:13:10,968
So, this is what this class is about.

316
00:13:10,968 --> 00:13:13,705
This class is about being high all the
time, legally high.

317
00:13:13,705 --> 00:13:15,700
Right?
All the time, right?

318
00:13:15,700 --> 00:13:16,950
So this is what we want.

319
00:13:16,950 --> 00:13:19,630
The dips are very low, the peaks are high,

320
00:13:19,630 --> 00:13:22,260
and that's the best way to actually
approach this class.

321
00:13:22,260 --> 00:13:26,280
Don't wait until the last moment to
experience this kind of satisfaction

322
00:13:26,280 --> 00:13:27,470
at the end.
Okay?

323
00:13:27,470 --> 00:13:29,190
So do this like that.

324
00:13:29,190 --> 00:13:31,940
Okay, so have fun, you know it's insane,
but it's a

325
00:13:31,940 --> 00:13:34,530
lot of fun, especially if you do it the
right way.

326
00:13:34,530 --> 00:13:35,040
Okay.

327
00:13:35,040 --> 00:13:37,050
Don't get frustrated, you can always come
back,

328
00:13:37,050 --> 00:13:38,920
you have a lot of opportunities in this
class.

329
00:13:38,920 --> 00:13:39,370
Okay.

330
00:13:39,370 --> 00:13:41,055
Enjoy it.
Thank you very much, guys.

331
00:13:41,055 --> 00:13:42,320
[BLANK_AUDIO]

