A molecular computing approach to solving optimization problems via programmable microdroplet arrays