Мои классы по математике далеко позади, и в настоящее время я изо всех сил пытаюсь найти достойное решение проблемы, с которой я сталкиваюсь: у меня есть дерево, в котором узлы являются действиями и «взвешены» по нескольким критериям: стоимость указанного действия, время, которое потребуется, необходимые ресурсы, нарушение и т. д. ...
И я хочу найти в этом дереве путь, который минимизирует как стоимость, так и время, например, или помехи, стоимость и время, и т. Д. Моя проблема в том, что я понятия не имею, как это сделать, кроме придумав глобальную функцию стоимости F (стоимость, время, ресурсы, ...) и применив алгоритм регулярного обхода дерева, используя результат из F (...) в качестве единственного веса.
Но тогда как мне придумать F? Что-то вроде "F (стоимость, время, ресурсы) = a * cost + b * time + c * resources" выглядит очень "непрофессионально" ...
Редактировать:
Я хотел избежать слова «суммирование», так как не был уверен, что это действительно путь, но по сути это то, что я делаю: вычисление общей стоимости для каждого «пути» или «ветви» это идет от того верхнего узла к одному из листьев, и выбирая "путь" или "ветвь", которая минимизирует стоимость. Проблема в том, что каждый узел имеет вес, основанный на необходимом времени, финансовых затратах, использовании ресурсов и т. Д.
Таким образом, кажется неизбежным придумать формулу, как говорит Стефан, которая сократит все эти параметры до одной глобальной стоимости на узел, которую я затем смогу суммировать по узлам, путешествуя по дереву, и выбирая путь, который минимизирует общую стоимость.
Так что я думаю, мой вопрос действительно заключается в том, есть ли методология, чтобы выбрать эту функцию?
Спасибо за ваши ответы и комментарии, теперь у меня в голове стало немного яснее.