fmincon is a multidimensional constrained optimization tool built into Matlab.
I will finish this tomorrow.