Я хочу создать графический интерфейс для реализации решения конкретной задачи оптимизации - PullRequest
0 голосов
/ 05 апреля 2009

Существуют определенные узлы, которые расположены на фиксированных расстояниях друг от друга. В каждом из этих узлов существует определенная потребность в воде (в единицах м ^ 3 / сек).

Узлы соединены сетью труб, где длина трубы, соединяющей разные узлы, является фиксированной, а скорости потока через каждый сегмент трубы рассчитываются в обратном направлении от потребности в терминальных узлах.

Теперь мне нужно минимизировать фиксированную стоимость выбора используемых труб, которая зависит от скорости потока, длины трубы и диаметра трубы (и я знаю соотношение между стоимостью и эти параметры в функциональном виде). ​​

Ограничения состоят в том, что перепады давления (фактически, динамический напор) должны быть больше, чем указанные значения в каждом узле.

Я знаю, как преобразовать это в задачу линейной оптимизации (путем разбиения каждого сегмента на ряд труб различной длины с определенными диаметрами) и использовать симплекс-алгоритм.

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

Может ли кто-нибудь указать мне язык и справочник, где я могу сделать это простым способом? Я готов приложить усилия и выучить их во время программирования.

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

Большое спасибо!

Ответы [ 2 ]

1 голос
/ 05 апреля 2009

Graphviz может быть хорошим местом, чтобы получить некоторые идеи о GUI. Поток в вашей сети и Graphviz нарисует его. В коде Graphviz могут быть некоторые возможности редактирования, с которых вы тоже можете начать, но я им не пользовался.

1 голос
/ 05 апреля 2009

Если вы уже используете C ++ и хотите просто разработать графический интерфейс для своего приложения, то, возможно, Qt будет хорошим выбором.

Если вы спрашиваете о проблеме оптимизации, это другое дело. Я бы рекомендовал заставить это работать, прежде чем беспокоиться о графическом интерфейсе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...