1. A method comprising: storing an artificial neural network model that is configured to predict one or more outputs based at least in part on one or more inputs, wherein the artificial neural network model comprises an input layer, one or more intermediate layers, and an output layer; and minimizing an approximate global error in the artificial neural network model at least in part by causing evaluation of a mixed integer linear program that determines one or more weights between two or more artificial neurons in the artificial neural network model, wherein the mixed integer linear program accounts for one or more piecewise linear activation functions for one or more artificial neurons in the artificial neural network model; wherein the method is performed by one or more computing devices.