empirical decision model learninng

44
Empirical Decision Model Learninng Michele Lombardi [email protected] Michela Milano [email protected] Alessio Bonfietti Stefano Gualandi Tias Guns Andrea Micheli Andrea Bartolini Luca Benini Pascal Van Hentenryck

Upload: others

Post on 06-Nov-2021

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Empirical Decision Model Learninng

Empirical Decision Model LearninngMichele Lombardi [email protected]

Michela Milano [email protected]

Alessio Bonfietti Stefano Gualandi Tias Guns Andrea Micheli Andrea Bartolini Luca Benini Pascal Van Hentenryck

Page 2: Empirical Decision Model Learninng

What makes a problem complex?

Page 3: Empirical Decision Model Learninng

A Case Study: Traffic Light Placement

Add/remove traffic lights in a city Traffic lights can be connected (green wave) Every operation has a cost Budget limit Objective: improve traffic flow

Page 4: Empirical Decision Model Learninng

A Case Study: Energy Incentive Design

Assign resources to incentive actions Reach a renewable generation quota Objective: minimize cost

Page 5: Empirical Decision Model Learninng

A Case Study: Thermal Aware Job Allocation

Many-core CPU (Intel SCC, 2009, 48 cores) Dispatch jobs Load balancing constraints Objective: avoid thermal hot-spots (efficiency loss)

Page 6: Empirical Decision Model Learninng

What Makes a Problem Complex?In general, many things:

Scale Different types of decisions Poor bounds/propagation…

But for these problems it’s something else!

This is very hard to do viaan expert-driven approach!

How do we model… The link between traffic light location and traffic? Between incentives and renewables diffusion/acceptance? Between job placement and temperature/efficiency?

Page 7: Empirical Decision Model Learninng

Example: Thermal Aware Job Mapping

The temperature/efficiency of a core is affected by:

CORE 0 CORE 1 CORE 2

CORE 6 CORE 7 CORE 8

CORE 10 CORE 11 CORE 12

the room temperature the workload of each core the neighbor workload the heat sink positions…

A simulator is viable, but not so a declarative model

Sometimes, you don’t even have a simulator!

Page 8: Empirical Decision Model Learninng

A possible solution: Empirical (Decison) Model Learning

Page 9: Empirical Decision Model Learninng

Empirical (Decision) Model Learning

Start from observations

Avg. Load 0

Std. Load 0

Avg. Load 1

Std. Load 1 …

0.9 0.1 0.7 0.3 …

0.8 0.2 0.8 0.1 …

0.5 0.4 0.6 0.2 …

… … … … …

Core 0 Core 1 Core 2 …

0.9 0.7 0.8 …

0.7 0.9 0.9 …

0.8 0.6 0.8 …

… … … …

Page 10: Empirical Decision Model Learninng

Empirical (Decision) Model Learning

Start from observations Approximate via Machine Learning

h : load stats 7! core k e↵.<latexit sha1_base64="fYZUFu5DpGS6YXX2PBwB/CwI3ek=">AAACG3icbVDLSgNBEJz1bXxFPXoZjIKnsCuC4ingRTwpmCgkIfROes2Q2Z1lplcMS/7Di7/ixYMingQP/o2TZA++CgaKqm56qsJUSUu+/+lNTc/Mzs0vLJaWlldW18rrGw2rMyOwLrTS5joEi0omWCdJCq9TgxCHCq/C/snIv7pFY6VOLmmQYjuGm0RGUgA5qVPe7/Fj3iK8o1xp6HJLQHbIWzGklnThCG2Q7/R3OEZRddgpV/yqPwb/S4KCVFiB8075vdXVIosxIaHA2mbgp9TOwZAUCoelVmYxBdGHG2w6mkCMtp2Psw35rlO6PNLGvYT4WP2+kUNs7SAO3WQM1LO/vZH4n9fMKDpq5zJJM8JETA5FmeIu9ago3pUGBamBIyCMdH/logcGBLk6S66E4Hfkv6SxXw38anBxUKmdFXUssC22zfZYwA5ZjZ2yc1Zngt2zR/bMXrwH78l79d4mo1NesbPJfsD7+AIaCaDV</latexit><latexit sha1_base64="fYZUFu5DpGS6YXX2PBwB/CwI3ek=">AAACG3icbVDLSgNBEJz1bXxFPXoZjIKnsCuC4ingRTwpmCgkIfROes2Q2Z1lplcMS/7Di7/ixYMingQP/o2TZA++CgaKqm56qsJUSUu+/+lNTc/Mzs0vLJaWlldW18rrGw2rMyOwLrTS5joEi0omWCdJCq9TgxCHCq/C/snIv7pFY6VOLmmQYjuGm0RGUgA5qVPe7/Fj3iK8o1xp6HJLQHbIWzGklnThCG2Q7/R3OEZRddgpV/yqPwb/S4KCVFiB8075vdXVIosxIaHA2mbgp9TOwZAUCoelVmYxBdGHG2w6mkCMtp2Psw35rlO6PNLGvYT4WP2+kUNs7SAO3WQM1LO/vZH4n9fMKDpq5zJJM8JETA5FmeIu9ago3pUGBamBIyCMdH/logcGBLk6S66E4Hfkv6SxXw38anBxUKmdFXUssC22zfZYwA5ZjZ2yc1Zngt2zR/bMXrwH78l79d4mo1NesbPJfsD7+AIaCaDV</latexit><latexit sha1_base64="fYZUFu5DpGS6YXX2PBwB/CwI3ek=">AAACG3icbVDLSgNBEJz1bXxFPXoZjIKnsCuC4ingRTwpmCgkIfROes2Q2Z1lplcMS/7Di7/ixYMingQP/o2TZA++CgaKqm56qsJUSUu+/+lNTc/Mzs0vLJaWlldW18rrGw2rMyOwLrTS5joEi0omWCdJCq9TgxCHCq/C/snIv7pFY6VOLmmQYjuGm0RGUgA5qVPe7/Fj3iK8o1xp6HJLQHbIWzGklnThCG2Q7/R3OEZRddgpV/yqPwb/S4KCVFiB8075vdXVIosxIaHA2mbgp9TOwZAUCoelVmYxBdGHG2w6mkCMtp2Psw35rlO6PNLGvYT4WP2+kUNs7SAO3WQM1LO/vZH4n9fMKDpq5zJJM8JETA5FmeIu9ago3pUGBamBIyCMdH/logcGBLk6S66E4Hfkv6SxXw38anBxUKmdFXUssC22zfZYwA5ZjZ2yc1Zngt2zR/bMXrwH78l79d4mo1NesbPJfsD7+AIaCaDV</latexit><latexit sha1_base64="fYZUFu5DpGS6YXX2PBwB/CwI3ek=">AAACG3icbVDLSgNBEJz1bXxFPXoZjIKnsCuC4ingRTwpmCgkIfROes2Q2Z1lplcMS/7Di7/ixYMingQP/o2TZA++CgaKqm56qsJUSUu+/+lNTc/Mzs0vLJaWlldW18rrGw2rMyOwLrTS5joEi0omWCdJCq9TgxCHCq/C/snIv7pFY6VOLmmQYjuGm0RGUgA5qVPe7/Fj3iK8o1xp6HJLQHbIWzGklnThCG2Q7/R3OEZRddgpV/yqPwb/S4KCVFiB8075vdXVIosxIaHA2mbgp9TOwZAUCoelVmYxBdGHG2w6mkCMtp2Psw35rlO6PNLGvYT4WP2+kUNs7SAO3WQM1LO/vZH4n9fMKDpq5zJJM8JETA5FmeIu9ago3pUGBamBIyCMdH/logcGBLk6S66E4Hfkv6SxXw38anBxUKmdFXUssC22zfZYwA5ZjZ2yc1Zngt2zR/bMXrwH78l79d4mo1NesbPJfsD7+AIaCaDV</latexit>

Page 11: Empirical Decision Model Learninng

Empirical (Decision) Model Learning

Start from observations Approximate via Machine Learning Embed the “empirical model” in the combinatorial model

ML model inputx = ML model outputy =

min z = f(~x, ~y)

s.t. ~y = h(~x)

all manner of constraints<latexit sha1_base64="VS2oyWjK5gdPDx+XMGkriR7UPqY=">AAACVHicbVHPaxNBFJ7dWluj1qhHLw+DoYIsu1JoL4WCF/FUwbSFbAizk7fNkPmxzLwtjcv+ke1B8C/x4sHJJgVtfTDw8f3gzXxTVEp6StOfUbz1aPvxzu6T3tNnz/de9F++OvO2dgJHwirrLgruUUmDI5Kk8KJyyHWh8LxYfFrp51fovLTmGy0rnGh+aWQpBadATfuLXEsD32F4DOV+foWiuW4/QAeW7XvI815OeE2NTyiBFoZwp8ExzO8CnW8IaydXCjQ3Bh3YEoQ1nhyXhnw77Q/SJO0GHoJsAwZsM6fT/m0+s6LWaEgo7v04SyuaNNyRFArbXl57rLhY8EscB2i4Rj9pulJaeBeYGZTWhWMIOvbvRMO190tdBKfmNPf3tRX5P21cU3k0aaSpakIj1ovKWgFZWDUMM+lQkFoGwIWT4a4g5txxQeEfeqGE7P6TH4Kzj0mWJtnXg8HJl00du+wNe8v2WcYO2Qn7zE7ZiAl2w35FLIqiH9HveCveXlvjaJN5zf6ZeO8PINqw8g==</latexit><latexit sha1_base64="VS2oyWjK5gdPDx+XMGkriR7UPqY=">AAACVHicbVHPaxNBFJ7dWluj1qhHLw+DoYIsu1JoL4WCF/FUwbSFbAizk7fNkPmxzLwtjcv+ke1B8C/x4sHJJgVtfTDw8f3gzXxTVEp6StOfUbz1aPvxzu6T3tNnz/de9F++OvO2dgJHwirrLgruUUmDI5Kk8KJyyHWh8LxYfFrp51fovLTmGy0rnGh+aWQpBadATfuLXEsD32F4DOV+foWiuW4/QAeW7XvI815OeE2NTyiBFoZwp8ExzO8CnW8IaydXCjQ3Bh3YEoQ1nhyXhnw77Q/SJO0GHoJsAwZsM6fT/m0+s6LWaEgo7v04SyuaNNyRFArbXl57rLhY8EscB2i4Rj9pulJaeBeYGZTWhWMIOvbvRMO190tdBKfmNPf3tRX5P21cU3k0aaSpakIj1ovKWgFZWDUMM+lQkFoGwIWT4a4g5txxQeEfeqGE7P6TH4Kzj0mWJtnXg8HJl00du+wNe8v2WcYO2Qn7zE7ZiAl2w35FLIqiH9HveCveXlvjaJN5zf6ZeO8PINqw8g==</latexit><latexit sha1_base64="VS2oyWjK5gdPDx+XMGkriR7UPqY=">AAACVHicbVHPaxNBFJ7dWluj1qhHLw+DoYIsu1JoL4WCF/FUwbSFbAizk7fNkPmxzLwtjcv+ke1B8C/x4sHJJgVtfTDw8f3gzXxTVEp6StOfUbz1aPvxzu6T3tNnz/de9F++OvO2dgJHwirrLgruUUmDI5Kk8KJyyHWh8LxYfFrp51fovLTmGy0rnGh+aWQpBadATfuLXEsD32F4DOV+foWiuW4/QAeW7XvI815OeE2NTyiBFoZwp8ExzO8CnW8IaydXCjQ3Bh3YEoQ1nhyXhnw77Q/SJO0GHoJsAwZsM6fT/m0+s6LWaEgo7v04SyuaNNyRFArbXl57rLhY8EscB2i4Rj9pulJaeBeYGZTWhWMIOvbvRMO190tdBKfmNPf3tRX5P21cU3k0aaSpakIj1ovKWgFZWDUMM+lQkFoGwIWT4a4g5txxQeEfeqGE7P6TH4Kzj0mWJtnXg8HJl00du+wNe8v2WcYO2Qn7zE7ZiAl2w35FLIqiH9HveCveXlvjaJN5zf6ZeO8PINqw8g==</latexit><latexit sha1_base64="VS2oyWjK5gdPDx+XMGkriR7UPqY=">AAACVHicbVHPaxNBFJ7dWluj1qhHLw+DoYIsu1JoL4WCF/FUwbSFbAizk7fNkPmxzLwtjcv+ke1B8C/x4sHJJgVtfTDw8f3gzXxTVEp6StOfUbz1aPvxzu6T3tNnz/de9F++OvO2dgJHwirrLgruUUmDI5Kk8KJyyHWh8LxYfFrp51fovLTmGy0rnGh+aWQpBadATfuLXEsD32F4DOV+foWiuW4/QAeW7XvI815OeE2NTyiBFoZwp8ExzO8CnW8IaydXCjQ3Bh3YEoQ1nhyXhnw77Q/SJO0GHoJsAwZsM6fT/m0+s6LWaEgo7v04SyuaNNyRFArbXl57rLhY8EscB2i4Rj9pulJaeBeYGZTWhWMIOvbvRMO190tdBKfmNPf3tRX5P21cU3k0aaSpakIj1ovKWgFZWDUMM+lQkFoGwIWT4a4g5txxQeEfeqGE7P6TH4Kzj0mWJtnXg8HJl00du+wNe8v2WcYO2Qn7zE7ZiAl2w35FLIqiH9HveCveXlvjaJN5zf6ZeO8PINqw8g==</latexit>

Page 12: Empirical Decision Model Learninng

Empirical (Decision) Model Learning

ML modelCore

combinatorial structure

EML = combinatorial problem + ML model

In an nutshell:

Optimize over complex systems! Choice of host optimization technology Bounding, propagation, inference, etc.

Why is it cool?

Faster then running a simulator No simulator, still fine

Page 13: Empirical Decision Model Learninng

Empirical (Decision) Model Learning

EML = combinatorial problem + ML modelWait a sec…

Don’t we get an approximate model?

😱😱😱Yes, but: All models are approximate With ML this is acknowledged… …And we can even estimate the accuracy!

Page 14: Empirical Decision Model Learninng

Key step: How do we embed a ML model

into a combinatorial model?

Page 15: Empirical Decision Model Learninng

Neural Networks

Let’s consider (Artificial Neural Networks)

in0

in1

in2

out

x0

x1y zX

f

x2

monotone non-decreasing

e.g. ReLU

In MI(N)LP: write the NN equations in the model

y = wTx+ b

z = f(y)<latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit><latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit><latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit><latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit>

Page 16: Empirical Decision Model Learninng

x0

x1y zX

f

x2

Neural Networks & MI(N)LP

Let’s consider (Artificial Neural Networks)

in0

in1

in2

out

y = wTx+ b

z = max(0, y)<latexit sha1_base64="+wULzFD/gnRdW1v+yNpxHdFRKSA=">AAACDHicbVDLSgMxFM3UV62vqks3F4ulopQZEXQjFNyIqwp9QWcsmTRtQzMPkox2LP0AN/6KGxeKuPUD3Pk3pu0stPVA4HDOudzc44acSWWa30ZqYXFpeSW9mllb39jcym7v1GQQCUKrJOCBaLhYUs58WlVMcdoIBcWey2nd7V+O/fodFZIFfkXFIXU83PVZhxGstNTK5vIQwwXc31ZgAEfggm1n8vCgJdvDg4J5DPGhTplFcwKYJ1ZCcihBuZX9stsBiTzqK8KxlE3LDJUzxEIxwukoY0eShpj0cZc2NfWxR6UznBwzggOttKETCP18BRP198QQe1LGnquTHlY9OeuNxf+8ZqQ6586Q+WGkqE+mizoRBxXAuBloM0GJ4rEmmAim/wqkhwUmSveX0SVYsyfPk9pJ0TKL1s1prnSd1JFGe2gfFZCFzlAJXaEyqiKCHtEzekVvxpPxYrwbH9NoykhmdtEfGJ8/iQ6W4g==</latexit><latexit sha1_base64="+wULzFD/gnRdW1v+yNpxHdFRKSA=">AAACDHicbVDLSgMxFM3UV62vqks3F4ulopQZEXQjFNyIqwp9QWcsmTRtQzMPkox2LP0AN/6KGxeKuPUD3Pk3pu0stPVA4HDOudzc44acSWWa30ZqYXFpeSW9mllb39jcym7v1GQQCUKrJOCBaLhYUs58WlVMcdoIBcWey2nd7V+O/fodFZIFfkXFIXU83PVZhxGstNTK5vIQwwXc31ZgAEfggm1n8vCgJdvDg4J5DPGhTplFcwKYJ1ZCcihBuZX9stsBiTzqK8KxlE3LDJUzxEIxwukoY0eShpj0cZc2NfWxR6UznBwzggOttKETCP18BRP198QQe1LGnquTHlY9OeuNxf+8ZqQ6586Q+WGkqE+mizoRBxXAuBloM0GJ4rEmmAim/wqkhwUmSveX0SVYsyfPk9pJ0TKL1s1prnSd1JFGe2gfFZCFzlAJXaEyqiKCHtEzekVvxpPxYrwbH9NoykhmdtEfGJ8/iQ6W4g==</latexit><latexit sha1_base64="+wULzFD/gnRdW1v+yNpxHdFRKSA=">AAACDHicbVDLSgMxFM3UV62vqks3F4ulopQZEXQjFNyIqwp9QWcsmTRtQzMPkox2LP0AN/6KGxeKuPUD3Pk3pu0stPVA4HDOudzc44acSWWa30ZqYXFpeSW9mllb39jcym7v1GQQCUKrJOCBaLhYUs58WlVMcdoIBcWey2nd7V+O/fodFZIFfkXFIXU83PVZhxGstNTK5vIQwwXc31ZgAEfggm1n8vCgJdvDg4J5DPGhTplFcwKYJ1ZCcihBuZX9stsBiTzqK8KxlE3LDJUzxEIxwukoY0eShpj0cZc2NfWxR6UznBwzggOttKETCP18BRP198QQe1LGnquTHlY9OeuNxf+8ZqQ6586Q+WGkqE+mizoRBxXAuBloM0GJ4rEmmAim/wqkhwUmSveX0SVYsyfPk9pJ0TKL1s1prnSd1JFGe2gfFZCFzlAJXaEyqiKCHtEzekVvxpPxYrwbH9NoykhmdtEfGJ8/iQ6W4g==</latexit><latexit sha1_base64="+wULzFD/gnRdW1v+yNpxHdFRKSA=">AAACDHicbVDLSgMxFM3UV62vqks3F4ulopQZEXQjFNyIqwp9QWcsmTRtQzMPkox2LP0AN/6KGxeKuPUD3Pk3pu0stPVA4HDOudzc44acSWWa30ZqYXFpeSW9mllb39jcym7v1GQQCUKrJOCBaLhYUs58WlVMcdoIBcWey2nd7V+O/fodFZIFfkXFIXU83PVZhxGstNTK5vIQwwXc31ZgAEfggm1n8vCgJdvDg4J5DPGhTplFcwKYJ1ZCcihBuZX9stsBiTzqK8KxlE3LDJUzxEIxwukoY0eShpj0cZc2NfWxR6UznBwzggOttKETCP18BRP198QQe1LGnquTHlY9OeuNxf+8ZqQ6586Q+WGkqE+mizoRBxXAuBloM0GJ4rEmmAim/wqkhwUmSveX0SVYsyfPk9pJ0TKL1s1prnSd1JFGe2gfFZCFzlAJXaEyqiKCHtEzekVvxpPxYrwbH9NoykhmdtEfGJ8/iQ6W4g==</latexit>

For ReLUs:y = wTx+ b

z = f(y)<latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit><latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit><latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit><latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit>

z = wTx+ b� s with: z, s � 0

t = 1 ! s 0

t = 0 ! z 0<latexit sha1_base64="y9C0j7iTj79+lyAzSRazwtQYX2U=">AAACXnicbZFbSyNBEIV7RtfLqGvUF8GXwrCysLthRgRFEARfxCcFo0Imhp5OJWnsudhdY0yG/EnfxBd/ij0xeN2ChsP5qqju01GmpCHff3TcqekfM7Nz897C4tLP5crK6oVJcy2wLlKV6quIG1QywTpJUniVaeRxpPAyujkq+eUdaiPT5JwGGTZj3k1kRwpO1mpV8i0YwgH0r8/hHv5ABP/AQHib8zaEhPdU9CX19mEEw78l6OIt+GHobQHZqQBCLbs94lqn/RKrEsMb9z/x4TtvVap+zR8XfBfBRFTZpE5blYewnYo8xoSE4sY0Aj+jZsE1SaFw5IW5wYyLG97FhpUJj9E0i3E8I/hlnTZ0Um1PQjB2P04UPDZmEEe2M+bUM19Zaf6PNXLq7DULmWQ5YSJeF3VyBZRCmTW0pUZBamAFF1rau4Locc0F2R/xbAjB1yd/FxfbtcCvBWc71cOTSRxzbINtst8sYLvskB2zU1Zngj05juM5C86zO+Muucuvra4zmVljn8pdfwGodq3t</latexit><latexit sha1_base64="y9C0j7iTj79+lyAzSRazwtQYX2U=">AAACXnicbZFbSyNBEIV7RtfLqGvUF8GXwrCysLthRgRFEARfxCcFo0Imhp5OJWnsudhdY0yG/EnfxBd/ij0xeN2ChsP5qqju01GmpCHff3TcqekfM7Nz897C4tLP5crK6oVJcy2wLlKV6quIG1QywTpJUniVaeRxpPAyujkq+eUdaiPT5JwGGTZj3k1kRwpO1mpV8i0YwgH0r8/hHv5ABP/AQHib8zaEhPdU9CX19mEEw78l6OIt+GHobQHZqQBCLbs94lqn/RKrEsMb9z/x4TtvVap+zR8XfBfBRFTZpE5blYewnYo8xoSE4sY0Aj+jZsE1SaFw5IW5wYyLG97FhpUJj9E0i3E8I/hlnTZ0Um1PQjB2P04UPDZmEEe2M+bUM19Zaf6PNXLq7DULmWQ5YSJeF3VyBZRCmTW0pUZBamAFF1rau4Locc0F2R/xbAjB1yd/FxfbtcCvBWc71cOTSRxzbINtst8sYLvskB2zU1Zngj05juM5C86zO+Muucuvra4zmVljn8pdfwGodq3t</latexit><latexit sha1_base64="y9C0j7iTj79+lyAzSRazwtQYX2U=">AAACXnicbZFbSyNBEIV7RtfLqGvUF8GXwrCysLthRgRFEARfxCcFo0Imhp5OJWnsudhdY0yG/EnfxBd/ij0xeN2ChsP5qqju01GmpCHff3TcqekfM7Nz897C4tLP5crK6oVJcy2wLlKV6quIG1QywTpJUniVaeRxpPAyujkq+eUdaiPT5JwGGTZj3k1kRwpO1mpV8i0YwgH0r8/hHv5ABP/AQHib8zaEhPdU9CX19mEEw78l6OIt+GHobQHZqQBCLbs94lqn/RKrEsMb9z/x4TtvVap+zR8XfBfBRFTZpE5blYewnYo8xoSE4sY0Aj+jZsE1SaFw5IW5wYyLG97FhpUJj9E0i3E8I/hlnTZ0Um1PQjB2P04UPDZmEEe2M+bUM19Zaf6PNXLq7DULmWQ5YSJeF3VyBZRCmTW0pUZBamAFF1rau4Locc0F2R/xbAjB1yd/FxfbtcCvBWc71cOTSRxzbINtst8sYLvskB2zU1Zngj05juM5C86zO+Muucuvra4zmVljn8pdfwGodq3t</latexit><latexit sha1_base64="y9C0j7iTj79+lyAzSRazwtQYX2U=">AAACXnicbZFbSyNBEIV7RtfLqGvUF8GXwrCysLthRgRFEARfxCcFo0Imhp5OJWnsudhdY0yG/EnfxBd/ij0xeN2ChsP5qqju01GmpCHff3TcqekfM7Nz897C4tLP5crK6oVJcy2wLlKV6quIG1QywTpJUniVaeRxpPAyujkq+eUdaiPT5JwGGTZj3k1kRwpO1mpV8i0YwgH0r8/hHv5ABP/AQHib8zaEhPdU9CX19mEEw78l6OIt+GHobQHZqQBCLbs94lqn/RKrEsMb9z/x4TtvVap+zR8XfBfBRFTZpE5blYewnYo8xoSE4sY0Aj+jZsE1SaFw5IW5wYyLG97FhpUJj9E0i3E8I/hlnTZ0Um1PQjB2P04UPDZmEEe2M+bUM19Zaf6PNXLq7DULmWQ5YSJeF3VyBZRCmTW0pUZBamAFF1rau4Locc0F2R/xbAjB1yd/FxfbtcCvBWc71cOTSRxzbINtst8sYLvskB2zU1Zngj05juM5C86zO+Muucuvra4zmVljn8pdfwGodq3t</latexit>

(indicator constraints)

Page 17: Empirical Decision Model Learninng

Neural Networks & MI(N)LP

Sounds simple, but the devil is in the details (i.e. in the bounds):

y10<latexit sha1_base64="iu0+IZy4uwpRbUPyoMOZB8BsVl8=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbFU0lE0GPBi8cKpi20sWy203bpZhN2N0II/Q1ePCji1R/kzX/jts1BWx8MPN6bYWZemAiujet+O6W19Y3NrfJ2ZWd3b/+genjU0nGqGPosFrHqhFSj4BJ9w43ATqKQRqHAdji5nfntJ1Sax/LBZAkGER1JPuSMGiv52aPXd/vVmlt35yCrxCtIDQo0+9Wv3iBmaYTSMEG17npuYoKcKsOZwGmll2pMKJvQEXYtlTRCHeTzY6fkzCoDMoyVLWnIXP09kdNI6ywKbWdEzVgvezPxP6+bmuFNkHOZpAYlWywapoKYmMw+JwOukBmRWUKZ4vZWwsZUUWZsPhUbgrf88ippXdY9t+7dX9Ua50UcZTiBU7gAD66hAXfQBB8YcHiGV3hzpPPivDsfi9aSU8wcwx84nz8oUY4n</latexit><latexit sha1_base64="iu0+IZy4uwpRbUPyoMOZB8BsVl8=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbFU0lE0GPBi8cKpi20sWy203bpZhN2N0II/Q1ePCji1R/kzX/jts1BWx8MPN6bYWZemAiujet+O6W19Y3NrfJ2ZWd3b/+genjU0nGqGPosFrHqhFSj4BJ9w43ATqKQRqHAdji5nfntJ1Sax/LBZAkGER1JPuSMGiv52aPXd/vVmlt35yCrxCtIDQo0+9Wv3iBmaYTSMEG17npuYoKcKsOZwGmll2pMKJvQEXYtlTRCHeTzY6fkzCoDMoyVLWnIXP09kdNI6ywKbWdEzVgvezPxP6+bmuFNkHOZpAYlWywapoKYmMw+JwOukBmRWUKZ4vZWwsZUUWZsPhUbgrf88ippXdY9t+7dX9Ua50UcZTiBU7gAD66hAXfQBB8YcHiGV3hzpPPivDsfi9aSU8wcwx84nz8oUY4n</latexit><latexit sha1_base64="iu0+IZy4uwpRbUPyoMOZB8BsVl8=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbFU0lE0GPBi8cKpi20sWy203bpZhN2N0II/Q1ePCji1R/kzX/jts1BWx8MPN6bYWZemAiujet+O6W19Y3NrfJ2ZWd3b/+genjU0nGqGPosFrHqhFSj4BJ9w43ATqKQRqHAdji5nfntJ1Sax/LBZAkGER1JPuSMGiv52aPXd/vVmlt35yCrxCtIDQo0+9Wv3iBmaYTSMEG17npuYoKcKsOZwGmll2pMKJvQEXYtlTRCHeTzY6fkzCoDMoyVLWnIXP09kdNI6ywKbWdEzVgvezPxP6+bmuFNkHOZpAYlWywapoKYmMw+JwOukBmRWUKZ4vZWwsZUUWZsPhUbgrf88ippXdY9t+7dX9Ua50UcZTiBU7gAD66hAXfQBB8YcHiGV3hzpPPivDsfi9aSU8wcwx84nz8oUY4n</latexit><latexit sha1_base64="iu0+IZy4uwpRbUPyoMOZB8BsVl8=">AAAB7HicbVBNS8NAEJ3Ur1q/qh69LBbFU0lE0GPBi8cKpi20sWy203bpZhN2N0II/Q1ePCji1R/kzX/jts1BWx8MPN6bYWZemAiujet+O6W19Y3NrfJ2ZWd3b/+genjU0nGqGPosFrHqhFSj4BJ9w43ATqKQRqHAdji5nfntJ1Sax/LBZAkGER1JPuSMGiv52aPXd/vVmlt35yCrxCtIDQo0+9Wv3iBmaYTSMEG17npuYoKcKsOZwGmll2pMKJvQEXYtlTRCHeTzY6fkzCoDMoyVLWnIXP09kdNI6ywKbWdEzVgvezPxP6+bmuFNkHOZpAYlWywapoKYmMw+JwOukBmRWUKZ4vZWwsZUUWZsPhUbgrf88ippXdY9t+7dX9Ua50UcZTiBU7gAD66hAXfQBB8YcHiGV3hzpPPivDsfi9aSU8wcwx84nz8oUY4n</latexit>

x10

<latexit sha1_base64="390LqsAjtJrxDAxAwdEwUt5FqMs=">AAAB7HicbVBNS8NAEJ34WetX1aOXxaJ4KokIeix48VjBtIU2ls120i7dbMLuRiyhv8GLB0W8+oO8+W/ctjlo64OBx3szzMwLU8G1cd1vZ2V1bX1js7RV3t7Z3duvHBw2dZIphj5LRKLaIdUouETfcCOwnSqkcSiwFY5upn7rEZXmibw34xSDmA4kjzijxkr+04PXc3uVqltzZyDLxCtIFQo0epWvbj9hWYzSMEG17nhuaoKcKsOZwEm5m2lMKRvRAXYslTRGHeSzYyfk1Cp9EiXKljRkpv6eyGms9TgObWdMzVAvelPxP6+Tmeg6yLlMM4OSzRdFmSAmIdPPSZ8rZEaMLaFMcXsrYUOqKDM2n7INwVt8eZk0L2qeW/PuLqv1syKOEhzDCZyDB1dQh1togA8MODzDK7w50nlx3p2PeeuKU8wcwR84nz8myY4m</latexit><latexit sha1_base64="390LqsAjtJrxDAxAwdEwUt5FqMs=">AAAB7HicbVBNS8NAEJ34WetX1aOXxaJ4KokIeix48VjBtIU2ls120i7dbMLuRiyhv8GLB0W8+oO8+W/ctjlo64OBx3szzMwLU8G1cd1vZ2V1bX1js7RV3t7Z3duvHBw2dZIphj5LRKLaIdUouETfcCOwnSqkcSiwFY5upn7rEZXmibw34xSDmA4kjzijxkr+04PXc3uVqltzZyDLxCtIFQo0epWvbj9hWYzSMEG17nhuaoKcKsOZwEm5m2lMKRvRAXYslTRGHeSzYyfk1Cp9EiXKljRkpv6eyGms9TgObWdMzVAvelPxP6+Tmeg6yLlMM4OSzRdFmSAmIdPPSZ8rZEaMLaFMcXsrYUOqKDM2n7INwVt8eZk0L2qeW/PuLqv1syKOEhzDCZyDB1dQh1togA8MODzDK7w50nlx3p2PeeuKU8wcwR84nz8myY4m</latexit><latexit sha1_base64="390LqsAjtJrxDAxAwdEwUt5FqMs=">AAAB7HicbVBNS8NAEJ34WetX1aOXxaJ4KokIeix48VjBtIU2ls120i7dbMLuRiyhv8GLB0W8+oO8+W/ctjlo64OBx3szzMwLU8G1cd1vZ2V1bX1js7RV3t7Z3duvHBw2dZIphj5LRKLaIdUouETfcCOwnSqkcSiwFY5upn7rEZXmibw34xSDmA4kjzijxkr+04PXc3uVqltzZyDLxCtIFQo0epWvbj9hWYzSMEG17nhuaoKcKsOZwEm5m2lMKRvRAXYslTRGHeSzYyfk1Cp9EiXKljRkpv6eyGms9TgObWdMzVAvelPxP6+Tmeg6yLlMM4OSzRdFmSAmIdPPSZ8rZEaMLaFMcXsrYUOqKDM2n7INwVt8eZk0L2qeW/PuLqv1syKOEhzDCZyDB1dQh1togA8MODzDK7w50nlx3p2PeeuKU8wcwR84nz8myY4m</latexit><latexit sha1_base64="390LqsAjtJrxDAxAwdEwUt5FqMs=">AAAB7HicbVBNS8NAEJ34WetX1aOXxaJ4KokIeix48VjBtIU2ls120i7dbMLuRiyhv8GLB0W8+oO8+W/ctjlo64OBx3szzMwLU8G1cd1vZ2V1bX1js7RV3t7Z3duvHBw2dZIphj5LRKLaIdUouETfcCOwnSqkcSiwFY5upn7rEZXmibw34xSDmA4kjzijxkr+04PXc3uVqltzZyDLxCtIFQo0epWvbj9hWYzSMEG17nhuaoKcKsOZwEm5m2lMKRvRAXYslTRGHeSzYyfk1Cp9EiXKljRkpv6eyGms9TgObWdMzVAvelPxP6+Tmeg6yLlMM4OSzRdFmSAmIdPPSZ8rZEaMLaFMcXsrYUOqKDM2n7INwVt8eZk0L2qeW/PuLqv1syKOEhzDCZyDB1dQh1togA8MODzDK7w50nlx3p2PeeuKU8wcwR84nz8myY4m</latexit>

y10<latexit sha1_base64="d97JpqogP7U0c3KRT5+jdN6MAZo=">AAAB+XicbVDLSgMxFL3js9bXqEs3waK4KjMi6LLgxmUF+4B2HDJp2oZmkiHJFIahf+LGhSJu/RN3/o2ZdhbaeiBwOOce7s2JEs608bxvZ219Y3Nru7JT3d3bPzh0j47bWqaK0BaRXKpuhDXlTNCWYYbTbqIojiNOO9HkrvA7U6o0k+LRZAkNYjwSbMgINlYKXbcvrV2k82wWek9+6Na8ujcHWiV+SWpQohm6X/2BJGlMhSEca93zvcQEOVaGEU5n1X6qaYLJBI9oz1KBY6qDfH75DJ1bZYCGUtknDJqrvxM5jrXO4shOxtiM9bJXiP95vdQMb4OciSQ1VJDFomHKkZGoqAENmKLE8MwSTBSztyIyxgoTY8uq2hL85S+vkvZV3ffq/sN1rXFR1lGBUziDS/DhBhpwD01oAYEpPMMrvDm58+K8Ox+L0TWnzJzAHzifP4yfk34=</latexit><latexit sha1_base64="d97JpqogP7U0c3KRT5+jdN6MAZo=">AAAB+XicbVDLSgMxFL3js9bXqEs3waK4KjMi6LLgxmUF+4B2HDJp2oZmkiHJFIahf+LGhSJu/RN3/o2ZdhbaeiBwOOce7s2JEs608bxvZ219Y3Nru7JT3d3bPzh0j47bWqaK0BaRXKpuhDXlTNCWYYbTbqIojiNOO9HkrvA7U6o0k+LRZAkNYjwSbMgINlYKXbcvrV2k82wWek9+6Na8ujcHWiV+SWpQohm6X/2BJGlMhSEca93zvcQEOVaGEU5n1X6qaYLJBI9oz1KBY6qDfH75DJ1bZYCGUtknDJqrvxM5jrXO4shOxtiM9bJXiP95vdQMb4OciSQ1VJDFomHKkZGoqAENmKLE8MwSTBSztyIyxgoTY8uq2hL85S+vkvZV3ffq/sN1rXFR1lGBUziDS/DhBhpwD01oAYEpPMMrvDm58+K8Ox+L0TWnzJzAHzifP4yfk34=</latexit><latexit sha1_base64="d97JpqogP7U0c3KRT5+jdN6MAZo=">AAAB+XicbVDLSgMxFL3js9bXqEs3waK4KjMi6LLgxmUF+4B2HDJp2oZmkiHJFIahf+LGhSJu/RN3/o2ZdhbaeiBwOOce7s2JEs608bxvZ219Y3Nru7JT3d3bPzh0j47bWqaK0BaRXKpuhDXlTNCWYYbTbqIojiNOO9HkrvA7U6o0k+LRZAkNYjwSbMgINlYKXbcvrV2k82wWek9+6Na8ujcHWiV+SWpQohm6X/2BJGlMhSEca93zvcQEOVaGEU5n1X6qaYLJBI9oz1KBY6qDfH75DJ1bZYCGUtknDJqrvxM5jrXO4shOxtiM9bJXiP95vdQMb4OciSQ1VJDFomHKkZGoqAENmKLE8MwSTBSztyIyxgoTY8uq2hL85S+vkvZV3ffq/sN1rXFR1lGBUziDS/DhBhpwD01oAYEpPMMrvDm58+K8Ox+L0TWnzJzAHzifP4yfk34=</latexit><latexit sha1_base64="d97JpqogP7U0c3KRT5+jdN6MAZo=">AAAB+XicbVDLSgMxFL3js9bXqEs3waK4KjMi6LLgxmUF+4B2HDJp2oZmkiHJFIahf+LGhSJu/RN3/o2ZdhbaeiBwOOce7s2JEs608bxvZ219Y3Nru7JT3d3bPzh0j47bWqaK0BaRXKpuhDXlTNCWYYbTbqIojiNOO9HkrvA7U6o0k+LRZAkNYjwSbMgINlYKXbcvrV2k82wWek9+6Na8ujcHWiV+SWpQohm6X/2BJGlMhSEca93zvcQEOVaGEU5n1X6qaYLJBI9oz1KBY6qDfH75DJ1bZYCGUtknDJqrvxM5jrXO4shOxtiM9bJXiP95vdQMb4OciSQ1VJDFomHKkZGoqAENmKLE8MwSTBSztyIyxgoTY8uq2hL85S+vkvZV3ffq/sN1rXFR1lGBUziDS/DhBhpwD01oAYEpPMMrvDm58+K8Ox+L0TWnzJzAHzifP4yfk34=</latexit>

y10

<latexit sha1_base64="koMR08k9YFMVqFEdF57OgmGd+Jc=">AAAB+nicbVDLSsNAFL3xWesr1aWbwaK4KokIuiy4cVnBPqCtYTKZtEMnkzAzUULsp7hxoYhbv8Sdf+OkzUJbDwwczrmHe+f4CWdKO863tbK6tr6xWdmqbu/s7u3btYOOilNJaJvEPJY9HyvKmaBtzTSnvURSHPmcdv3JdeF3H6hULBZ3OkvoMMIjwUJGsDaSZ9cGqQioLOJ5NvWce9ez607DmQEtE7ckdSjR8uyvQRCTNKJCE46V6rtOooc5lpoRTqfVQapogskEj2jfUIEjqob57PQpOjFKgMJYmic0mqm/EzmOlMoi30xGWI/VoleI/3n9VIdXw5yJJNVUkPmiMOVIx6joAQVMUqJ5ZggmkplbERljiYk2bVVNCe7il5dJ57zhOg339qLePC3rqMARHMMZuHAJTbiBFrSBwCM8wyu8WU/Wi/VufcxHV6wycwh/YH3+AEyWk+o=</latexit><latexit sha1_base64="koMR08k9YFMVqFEdF57OgmGd+Jc=">AAAB+nicbVDLSsNAFL3xWesr1aWbwaK4KokIuiy4cVnBPqCtYTKZtEMnkzAzUULsp7hxoYhbv8Sdf+OkzUJbDwwczrmHe+f4CWdKO863tbK6tr6xWdmqbu/s7u3btYOOilNJaJvEPJY9HyvKmaBtzTSnvURSHPmcdv3JdeF3H6hULBZ3OkvoMMIjwUJGsDaSZ9cGqQioLOJ5NvWce9ez607DmQEtE7ckdSjR8uyvQRCTNKJCE46V6rtOooc5lpoRTqfVQapogskEj2jfUIEjqob57PQpOjFKgMJYmic0mqm/EzmOlMoi30xGWI/VoleI/3n9VIdXw5yJJNVUkPmiMOVIx6joAQVMUqJ5ZggmkplbERljiYk2bVVNCe7il5dJ57zhOg339qLePC3rqMARHMMZuHAJTbiBFrSBwCM8wyu8WU/Wi/VufcxHV6wycwh/YH3+AEyWk+o=</latexit><latexit sha1_base64="koMR08k9YFMVqFEdF57OgmGd+Jc=">AAAB+nicbVDLSsNAFL3xWesr1aWbwaK4KokIuiy4cVnBPqCtYTKZtEMnkzAzUULsp7hxoYhbv8Sdf+OkzUJbDwwczrmHe+f4CWdKO863tbK6tr6xWdmqbu/s7u3btYOOilNJaJvEPJY9HyvKmaBtzTSnvURSHPmcdv3JdeF3H6hULBZ3OkvoMMIjwUJGsDaSZ9cGqQioLOJ5NvWce9ez607DmQEtE7ckdSjR8uyvQRCTNKJCE46V6rtOooc5lpoRTqfVQapogskEj2jfUIEjqob57PQpOjFKgMJYmic0mqm/EzmOlMoi30xGWI/VoleI/3n9VIdXw5yJJNVUkPmiMOVIx6joAQVMUqJ5ZggmkplbERljiYk2bVVNCe7il5dJ57zhOg339qLePC3rqMARHMMZuHAJTbiBFrSBwCM8wyu8WU/Wi/VufcxHV6wycwh/YH3+AEyWk+o=</latexit><latexit sha1_base64="koMR08k9YFMVqFEdF57OgmGd+Jc=">AAAB+nicbVDLSsNAFL3xWesr1aWbwaK4KokIuiy4cVnBPqCtYTKZtEMnkzAzUULsp7hxoYhbv8Sdf+OkzUJbDwwczrmHe+f4CWdKO863tbK6tr6xWdmqbu/s7u3btYOOilNJaJvEPJY9HyvKmaBtzTSnvURSHPmcdv3JdeF3H6hULBZ3OkvoMMIjwUJGsDaSZ9cGqQioLOJ5NvWce9ez607DmQEtE7ckdSjR8uyvQRCTNKJCE46V6rtOooc5lpoRTqfVQapogskEj2jfUIEjqob57PQpOjFKgMJYmic0mqm/EzmOlMoi30xGWI/VoleI/3n9VIdXw5yJJNVUkPmiMOVIx6joAQVMUqJ5ZggmkplbERljiYk2bVVNCe7il5dJ57zhOg339qLePC3rqMARHMMZuHAJTbiBFrSBwCM8wyu8WU/Wi/VufcxHV6wycwh/YH3+AEyWk+o=</latexit>True ReLU LP Relaxation

There is a trade-off: Poor bounds = poor relaxation Good bounds = expensive pre-processing

Page 18: Empirical Decision Model Learninng

Neural Networks & MI(N)LP

Some experimental data:

Advice: use strong bound tightening!

Page 19: Empirical Decision Model Learninng

x0

x1y zX

f

x2

Neural Networks & CP

Let’s consider (Artificial Neural Networks)

in0

in1

in2

out

y = wTx+ b

z = f(y)<latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit><latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit><latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit><latexit sha1_base64="EF3I4IvLAkNaGogkg5OcUOCCO60=">AAACBnicbVDLSsNAFJ3UV42vqEsRBoulIpREBN0IBTfiqkJf0MQymU7q0MkkzEzUWLpy46+4caGIW7/BnX/jtM1CWw9cOJxzL/fe48eMSmXb30Zubn5hcSm/bK6srq1vWJtbDRklApM6jlgkWj6ShFFO6ooqRlqxICj0GWn6/fOR37wlQtKI11QaEy9EPU4DipHSUsfaLcIUnsG76xq8h4fQh65rFuGDloJSetCxCnbZHgPOEicjBZCh2rG+3G6Ek5BwhRmSsu3YsfIGSCiKGRmabiJJjHAf9UhbU45CIr3B+I0h3NdKFwaR0MUVHKu/JwYolDINfd0ZInUjp72R+J/XTlRw6g0ojxNFOJ4sChIGVQRHmcAuFQQrlmqCsKD6VohvkEBY6eRMHYIz/fIsaRyVHbvsXB0XKpdZHHmwA/ZACTjgBFTABaiCOsDgETyDV/BmPBkvxrvxMWnNGdnMNvgD4/MH3heU7g==</latexit>

In CP: a global constraint for each neuron!

Since f is monotone: ub(y) changes⬌ ub(z) changes lb(y) changes⬌ lb(z) changes

Page 20: Empirical Decision Model Learninng

Neural Networks & CP

x0=1

x1=1

[...,2] [...,0.96]

x0=-1

x1=1

[...,2] [...,0.96]

x0#∈#[%1,1]

x1#∈#[%1,1]

1

%1

11

1

1

n0

n1

n2

0.96

0.96

[...,1.93] [...,1.93]

Propagation:Xx0∈[-1,1]

x1∈[-1,1]For n0

Xx0∈[-1,1]x1∈[-1,1]

For n1

X[...,0.96][...,0.96]

For n2

However, consider this network:

Page 21: Empirical Decision Model Learninng

Neural Networks & CP

The true maximum is 1.51 (not 1.93)! There is a discrepancy even for small networks… …And it get exponentially worse for large ones

max z(�) = b+m�1X

j=0

wjf(yj)+

+m�1X

j=0

�j

bj +

n�1X

i=0

wj,ixi � yj

!

xi 2 [xi, xi] 8i = 0..n� 1

yj 2 [yj, yj ] 8j = 0..m� 1

An improvement: Lagrangian relaxation

x-part (linear)y-part (non-linear, further separable)

This is separable!

Page 22: Empirical Decision Model Learninng

Neural Networks & CPSome experimental results:

Page 23: Empirical Decision Model Learninng

Decision TreesInput: tuple of attribute values Output: a class A

B

C

A

C

B

1

0 1

0

0 1

1

≤ 20 > 20

≤ 10 > 10

0 1

≤ 10 > 10

0 1

≤ 20 > 20

numeric attribute

symbolic attribute

branch labels

class labels

Page 24: Empirical Decision Model Learninng

Decision Trees & CPA first, simple, encoding:

A

B

C

A

C

B

1

0 1

0

0 1

1

≤ 20 > 20

≤ 10 > 10

0 1

≤ 10 > 10

0 1

≤ 20 > 20

[A > 20] ⋀ [C = 0] ⋀ [B > 20] [Y = 1]⇒

A path is an implication!

Page 25: Empirical Decision Model Learninng

Decision Trees & CPA second, stronger, encoding:

A

B

C

A

C

B

1

0 1

0

0 1

1

≤ 20 > 20

≤ 10 > 10

0 1

≤ 10 > 10

0 1

≤ 20 > 20

A path is a set of feasible assignments!

A:B:

AD = 0 AD = 1 AD = 2

BD = 0 BD = 1 BD = 2

10 20

10 20

Page 26: Empirical Decision Model Learninng

AD

BD

C

AD

C

BD

1

0 1

0

0 1

1

0,1 2

0 1,2

0 1

0 1,2

0 1

0,1 2

Decision Trees & CPA second, stronger, encoding:

A path is a set of feasible assignments!

A:B:

AD = 0 AD = 1 AD = 2

BD = 0 BD = 1 BD = 2

10 20

10 20

Page 27: Empirical Decision Model Learninng

AD

BD

C

AD

C

BD

1

0 1

0

0 1

1

0,1 2

0 1,2

0 1

0 1,2

0 1

0,1 2

Decision Trees & CPA second, stronger, encoding:

A path is a set of feasible assignments!

A:B:

AD = 0 AD = 1 AD = 2

BD = 0 BD = 1 BD = 2

AD BD C Y2 2 0 1… … … …… … … …… … … …

Page 28: Empirical Decision Model Learninng

Some experimental results (including other encodings)Decision Trees & CP

Page 29: Empirical Decision Model Learninng

What about using SMT? Easy to encode implications No table constraint… …But SMT has conflict learning!

Decision Trees & SMT

Some experimental results:

Page 30: Empirical Decision Model Learninng

Does it Work? Let’s see on the Thermal-Aware DispatchingTrue (simulated) core efficiencies, after 60s optimization

Linear Model NN (ind. neurons) + CP

Page 31: Empirical Decision Model Learninng

Af course, the whole picture is bigger…

Page 32: Empirical Decision Model Learninng

Of Course, There Are Related Approaches

A bunch of them, in fact: Black-box optimization (with surrogate models) System identification Local search/GAs + actual simulation Machine Learning model verification…

http://emlopt.github.io

We made a survey!

A reference web site for all EML-related stuff Survey, a (crude) library And a decent tutorial with on “epidemic control”…

Page 33: Empirical Decision Model Learninng
Page 34: Empirical Decision Model Learninng

Food for thought

Page 35: Empirical Decision Model Learninng

Morsel #1

EML allows optimization over complex systems

The ML can learn the behavior of the system and the optimizer! E.g. in thermal aware dispatching we included an on-core scheduler

This includes controlled systems!

EML can be used to build hierarchies of optimizers

CON: no overall optimality guarantee PRO: no direct communication, no cuts, etc.!

Page 36: Empirical Decision Model Learninng

Morsel #2

In EML, higher accuracy is not always better!

Complex ML models More accurate Run-time overhead Weaker inference (bounds, etc.)

Simple ML models Less accurate Quicker to evaluate More effective inference

Risk: poor quality solutions Risk: apparently good solutions

There is trade-off between accuracy and optimization effectiveness

How to deal with large models? How to characterize it?

Page 37: Empirical Decision Model Learninng

Morsel #3

A typical training set in ML looks like this:Ou

tput

val

ues

Input configurations

Historical data

Page 38: Empirical Decision Model Learninng

Morsel #3

The ML model provides a prediction for every input valueOu

tput

val

ues

Input configurations

Predictions

Page 39: Empirical Decision Model Learninng

Morsel #3

The optimizer will search for the best one (HP: prediction = cost)Ou

tput

val

ues

Input configurations

Final solution

Page 40: Empirical Decision Model Learninng

Morsel #3

If this is far from known examples, there may be a large errorOu

tput

val

ues

Input configurations

True value

Page 41: Empirical Decision Model Learninng

Morsel #3

What can be done: When building the training set

Factorial design, Latin hypercube sampling… At search time:

Active learning, if you can run experiments Connection with preference elicitation and black box optimization

No active learning so far in EML

Training efficiency? How to ensure significant model changes?

Page 42: Empirical Decision Model Learninng

Morsel #4

Some ML models provide well-defined uncertain output DT report misclassified examples Regression trees have standard deviations NN classifiers yield full probability distributions

Can we take advantage of this?

We could do chance constraints via ML! Reasoning with stochastic information?

Some ML models can deal with uncertain inputs Both DTs and RTs support them nicely

Page 43: Empirical Decision Model Learninng

Morsel #5

Optimization researchers like clean declarative models ML researches seldom use decisions as input for their models In other fields, simulation and what-if analysis is the way to go

We need to work together!

Bring together researchers in CP, ML, OR, physics, social sciences… Show that optimization on complex real world system is doable!

…And this requires effort from everybody

Page 44: Empirical Decision Model Learninng

www.unibo.it

http://emlopt.github.io

That’s all! You (also) got questions?