Жаль, что другие участники не подключаются к обсуждению, мне одной не осилить.
Ну, если я правильно поняла, существуют два ограничения. На число атомов углерода и на энергию. Лучше бы вы привели какие-то примеры.
Попробую сама.

превращаются в

"штук" (молей?)

,

молей

и

молей

.
Получаем ограничения

и

(не знаю, чему равно A). Кроме того,

.
При этом максимизируется то же выражение

.
Требовать, чтобы переменные были ненулевыми, не надо, раз вы решаете задачу оптимизации.
Это типичная задача целочисленного линейного программирования. Точное решение требует специальных методов, например, метода ветвей и границ. Но я в этом не специалист. Погуглите, может, есть рекомендации.