Source: https://manuals.plus/m/549b2395489b3d238aee1df0d3a9bb8fa8378094869da1f71261799e1f4de7b2_optim.pdf