Существуют определенные узлы, которые расположены на фиксированных расстояниях друг от друга. В каждом из этих узлов существует определенная потребность в воде (в единицах м ^ 3 / сек).
Узлы соединены сетью труб, где длина трубы, соединяющей разные узлы, является фиксированной, а скорости потока через каждый сегмент трубы рассчитываются в обратном направлении от потребности в терминальных узлах.
Теперь мне нужно минимизировать фиксированную стоимость выбора используемых труб, которая зависит от скорости потока, длины трубы и диаметра трубы (и я знаю соотношение между стоимостью и эти параметры в функциональном виде).
Ограничения состоят в том, что перепады давления (фактически, динамический напор) должны быть больше, чем указанные значения в каждом узле.
Я знаю, как преобразовать это в задачу линейной оптимизации (путем разбиения каждого сегмента на ряд труб различной длины с определенными диаметрами) и использовать симплекс-алгоритм.
То, что я хочу сделать, - это реализовать интерфейс с графическим интерфейсом, в котором пользователь может указывать узлы, сегменты, соединяющие различные узлы и соответствующие расстояния, а также минимальные заголовки путем упрощения щелчка и рисования, а также ввода информация в некотором окне, чтобы я мог использовать эти данные для расчета оптимального решения и его отображения.
Может ли кто-нибудь указать мне язык и справочник, где я могу сделать это простым способом? Я готов приложить усилия и выучить их во время программирования.
Я знаю, как решить проблему оптимизации для предопределенной сети, используя линейное программирование, и определенный набор значений параметров, которые я вводю из командной строки. Я хочу знать, как создать графический интерфейс для рисования сети и ввода данных.
Большое спасибо!