@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