If you ask this in a MATLAB forum, you will get a different answer than in a python forum :-)
If you start learning about optimization, I think it is important that a software is well-documented. This is the case with MATLAB.
If the price matters, you could start with free software (octave, scilab, python) to learn about the general procedure to set up an optimization problem. If you run into problems, you could ask a more specific question here and maybe switch to MATLAB later.
