![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 09.04.2011
Сообщений: 2
|
![]()
Добрый день,
Я учусь на факультете управления производством. Сумашедший лектор по оперативному планированию задал проект: написать программу на Visual Basic или на Java: Балансировка производственных линий (для равномерной загрузки рабочих мест) при помощи динамического программирования. Сдала базовый VB и Java на 100 (из 100). Тему знаю прекрасно, а знаний VB или Java для этой программы катастрофически не хватает (не учили даже массивы)... Программа получает от пользователя: 1. действия, макс. количество 6 (A,B,C,D,E,F), 2. какие действия должны быть произведены раньше каких и 3. продолжительность каждого действия. Программа выдаёт ответ: какие действия в какой последовательности и по каким участкам должны быть распределены. Сижу уже неделю, а ничего не получается ![]() Буду очень благодарна за помощь! Заранее спасибо. Алиса |
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
![]()
вам сетевой график построить нужно что-ли? прикиньте сначала алгоритм, язык - дело второе, алгоритма не видно.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 09.04.2011
Сообщений: 2
|
![]()
Во-первых, спасибо, с Вашей помощью, дошло какой вообще алгоритм (совсем не как решение вручную):
Программа получает от пользователя: 1. время цикла, 2. сетевой график в виде таблицы до 6 действий (A,B,C,D,E,F), обязательные предшествующие действия и продолжительность каждого действия – это, я так понимаю, должно войти в двухмерный массив (типа таблицы 1/0 – если А должна быть перед В - пишем 1, если нет - пишем 0). (Программа должна найти: оптимальное распределение и минимальное количество участков, т.е. последовательность действий и на каких участках (уч.1, уч.2 и тд.) за заданное пользователем время цикла.) Программа перебирает все варианты маршрутов (ABCDFE, …, BDCFEA, …), проверяет каждый маршрут: возможен ли он, учитывая обязательные предшествующие действия. Если возможен, то распределяет по участкам по очередности: если осталось достаточно времени на участке, то действие заносит в него; если нет, то на следующий участок. Можно предположить, что пользователь не даст время цикла короче самого длинного действия. Первый вариант заносится в память как оптимальный, и каждый следующий сверяется с ним – если новый лучше, то он вносится как оптимальный. И в результате остаётся в памяти оптимальный вариант, который программа и выдаёт пользователю на экран. А вот как это реализовать на VB или Java, увы, не знаю… ![]() СПАСИБО заранее! Алиса. |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программа с динамическим кодом | zumm | Общие вопросы Delphi | 11 | 22.06.2010 09:09 |
умственная гимнастика - планирование производственных циклов. | kievlyanin | Microsoft Office Excel | 21 | 05.03.2010 20:29 |
Занимаетесь программированием из интереса, или просто из-за денег? | forumu | Свободное общение | 23 | 24.03.2008 14:56 |