/Making-Rational-Protein-Design-Artifically-Intelligent

Our final project for Deep Learning in Discrete Optimization taught by Bill Cook. We developed an ML-based branching rule for solving Protein Design problems in Weighted Constraint Satisfaction form.

Primary LanguageC++

Making Rational Protein Design Artificially Intelligent

This is Jimmy Kim, Jason Wong, Richard Chen, and my final project for Deep Learning in Discrete Optimization taught by Bill Cook.

We developed an ML-based branching rule for solving Weighted Constraint Satisfaction Problems (WCSPs) we call "small branching". We observe the outcome of different branching variable choices during branch-and-bound optimization and teach a three layer MLP to estimate the size of the expanded subtree for a given branching decision. Finally, this is used to heuristically choose the branching variables that will lead to the smallest tree (and therefore the most efficient search).

Restricting ourselves to a similar set of optimization problems, we trained our network over a small set of Computational Protein Design (CPD) Problems. We used the Toulbar2 WCSP solver to explore the subtrees generated from the CPD problems.

Read more in our accompanying report!