This document describes research on developing an efficient hill climber algorithm for constrained pseudo-Boolean optimization problems. It discusses how scores can be computed to identify improving moves in the search space and updated efficiently as the solution changes. The key ideas are to compute scores initially and then only update a small, constant number of scores after each move instead of recomputing all possible scores from scratch. This approach is extended to handle multi-objective optimization problems with constraints by considering both strong and weak improving moves.