Сформулированы и решены математические задачи нахождения оптимальных характеристик программного обеспечения, которые применимы при выполнении инженерной задачи оптимизации работы программ. Задачи представляют собой разновидность задачи о ранце и решены методом динамического программирования, что позволяет повысить полноту оценки и улучшить характеристики программного обеспечения и систем в целом. Проанализированы принципы применения инструментальных средств профилирования программ, применяемых для оптимизации программного обеспечения. Ключевые слова: оптимизация программы, профилирование программы, динамическое программирование, задача о ранце.