@Nikky If you
really are serious about discrete optimization, this Coursera class is
the resource. Even if you do the first 4-6 weeks (which can take months depending on your pace), that will give you a strong idea what you will need to do and how to code it.
https://www.coursera.org/learn/discrete-optimization