2010-09-09 5 views
4

Я работаю над Java-приложением, которое должно позволить пользователям оптимизировать свой ежедневный график. Для этого мне нужны рамки, которая помогает рассчитать оптимальное время для «задач» принимая к сведению:Рамки планирования задач - не планирование потоков!

  1. Необходимые ресурсы и ограничения использования ресурсов
  2. Зависимости между задачами (можно сделать только с F-> S отношений, хотя)
  3. ранние и последние времена старт-финиш, натяжные раз
  4. Baseline против фактического времени - позволяет представить фактическое время начала и конца, обновление остальных задач соответственно

Некоторые Клари fications: Я не ищу ни рамки для рисования этих gantts, ни рамки, которая имеет дело с одним конкретным проблемным доменом (например, классными комнатами), и определенно не является средой, которая занимается планированием потоков.

Спасибо!

+1

Возникли вопросы здесь? –

+0

Если вы нашли такую ​​структуру, что бы вам оставалось делать? Похоже, вы пишете приложение для оптимизации задач, и вы пытаетесь использовать платформу оптимизации задач. На самом деле это не так, как все это работает ... Вам просто нужно написать какой-то код. – romacafe

+0

@romacafe: Иногда приятной штукой является упаковка, а не двигатель. Почему мы не переписываем 3D-рендеринг для каждого FPS? –

ответ

5

Я не думаю, что есть рама, которая подойдет вашим потребностям из коробки. Я знаю, что вы сказали, что не ищете работу/планировщик потоков, но я думаю, что ваш лучший выбор - это, вероятно, сворачивать свой собственный код оптимизации/приоритизации вокруг «немой» рамки планирования работы/потока, например Quartz (или что бы вы ни делали в место). Если вы идете с Quartz, API, вероятно, может предоставить вам некоторую информацию, полезную для пунктов 3 и 4 ваших критериев оптимизации. Кроме того, Quartz имеет концепцию «приоритет» работы, поэтому, как только вы вычислили оптимизированный приоритет, он должен облегчить планирование выполнения.

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

+0

Я знаю об этих структурах планирования; Я искал способ, который позволяет мне пропустить взгляд на их код и выяснить, какие бит и болты мне нужны ... Но если мне это нужно, я это сделаю. –

0

Вы можете проверить наличие project management software. Кажется, вам это нужно, написанное в java с возможностью изменения кода. Это действительно сужает список, но я сделал быстрое сканирование, и я вижу по крайней мере 2 из них, которые могли бы помочь (Endeavour и Project.net).

0

Возможно, вам нужно что-то вроде эволюционно-генетического алгоритма для создания оптимизированного графика?

Если да, то вы можете посмотреть на этом часовщик Framework: http://watchmaker.uncommons.org/

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

Смежные вопросы