|
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
|
|
Перебор: найти порядок обработки деталей на станках, когда все детали будут обработаны за минимальное время17.01.2018, 18:26. Показов 4575. Ответов 14
Помогите пожалуйста с задачкой на Прологе:
Имеется n деталей и m станков. Каждая деталь характеризуется временем обработки. Станок обрабатывает любую деталь сразу, все станки одинаковы. Определить порядок обработки деталей на станках, когда все детали будут обработаны за минимальное время. Знаю только, что решается перебором
0
|
|
| 17.01.2018, 18:26 | |
|
Ответы с готовыми решениями:
14
Вычислить время, за которое будут обработаны все детали по формуле Требуется по начальному расположению деталей на первом конвейере определить время, через которое все детали будут изготовлены Определить вероятность того, что 3 детали, взятые наудачу из всех деталей, обработаны одним и тем же станком |
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
||||
| 18.01.2018, 17:24 | ||||
|
Добавлено через 7 минут "Станок обрабатывает любую деталь сразу, все станки одинаковы." Простая сортировка деталей по времени и есть ответ. Добавлено через 2 минуты
0
|
||||
|
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
|
|||
| 18.01.2018, 19:17 [ТС] | |||
|
Допустим отсортируем по убыванию, а дальше что? Берём деталь с наименьшим временем и отдаём на обработку на тот станок который в данный момент свободен? Ох, что-то тяжело мне с логическим программированием.
0
|
|||
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
|
| 19.01.2018, 13:49 | |
|
Дайте пример спецификации данных, что на входе и что на выходе.
Собственно, не понятно как в принципе можно решать задачу без спецификации. И на каких данных тестировать, опять-таки...
0
|
|
|
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
|
|||||||
| 19.01.2018, 13:57 [ТС] | |||||||
Выполняйте аналогично примеру в материалах лекции, начи- ная с формальной постановки задачи как задачи CSP. Для задачи о счастливых билетах вектор переменных V — это набор пере- менных [A,B,C,D,E,F], Области значений всех переменных в первоначальной постановке — числа из диапазона [0,1,2,…,9], поэтому достаточно было запрограммировать всего один генера- тор gen/1. Буду очень благодарен, если Вы мне поможете, если не решить, так хотя бы понять как
0
|
|||||||
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
||||
| 19.01.2018, 14:03 | ||||
|
1. сортируем по времени список деталей, по возрастанию 2. достаем из списка деталей и дополняем номером станка: 1 деталь - 1 время - 1 станок, ..., m деталь - m время - m станок, m+1 деталь - m+1 время - 1 станок и т.д. до n детали на бейсике, право дело, можно написать, а на Прологе это уже надо хоть начать что-то, дальше подскажет кто-нибудь здесь Добавлено через 2 минуты Добавлено через 1 минуту Добавлено через 1 минуту Да, первичную реализацию можно выкатить, но студент тоже должен думать, а не тупо спихивать материал.
0
|
||||
|
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
|
||
| 19.01.2018, 14:05 [ТС] | ||
|
0
|
||
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
||
| 19.01.2018, 14:08 | ||
|
Добавлено через 3 минуты Кстати, да, на каком Прологе идет обучение?
0
|
||
|
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
|
|||
| 19.01.2018, 14:14 [ТС] | |||
|
0
|
|||
|
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
|
|
| 19.01.2018, 17:36 [ТС] | |
|
0
|
|
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
|||
| 20.01.2018, 17:25 | |||
|
Ну явно в постановке задачи полная чушь
![]() Добавлено через 5 минут Вот после таких спецификаций и постановок задач, такие потом реализации и получаются. Добавлено через 7 минут Где здесь задача удовлетворения ограничений (Constraint Satisfaction Problem — CSP), ну помогите мне тупому, не вижу. Добавлено через 17 минут Вот хотя бы добавить: m станков запускаются на рабочую смену; время обработки соответствует расходу энергии; обработать n деталей так, чтобы за каждую смену суммарный расход энергии был близок к оптимальному. И то, надо бы еще как-то развернуть, что такое оптимальный расход энергии: при обработке деталей каждой сменой перепад в суммарном расходе энергии за смену при переходе от смены к смене должен стремится к минимальному. Но это не про минимальное время, и не про сортировку, тут хоть как-то уже похоже на задачу удовлетворения ограничений. Это так, нахрапом... Формулировка таких задач должна очень тщательно прорабатываться. Добавлено через 2 минуты ![]() Добавлено через 6 минут Добавлено через 8 минут вот откуда уши торчат ![]() Добавлено через 5 минут Рекомендация прежняя, показать на листочке использование ограничения в этой задаче, на самых простых данных, типа два станка, и, ну там 6-8 деталей.
1
|
|||
|
0 / 0 / 0
Регистрация: 03.12.2015
Сообщений: 16
|
|
| 20.01.2018, 19:12 [ТС] | |
|
arlat, Вам тоже задача покоя не даёт?)
Добавлено через 25 минут arlat, Вот кстати, нашёл в другой книге: Имеется n деталей и m станков. Каждая деталь характеризуется временем обработки (для каждой детали время обработки на всех стан- ках одинаково). Станок в каждый момент времени обрабатывает только одну деталь. Детали на каждом станке обрабатываются последовательно. Необходимо определить такое назначение деталей на станки, чтобы вре- мя окончания обработки последней обрабатываемой детали было бы ми- нимальным. Рекомендация: вершиной дерева перебора будет n – вектор. Тогда значение i-ой координаты этого вектора будет совпадать с номером стан- ка, на который мы назначили i-ую деталь. В корень дерева мы положим 0-вектор. Добавлено через 1 минуту Может это что-то даст, но точно не мне) Добавлено через 2 минуты http://edu.usfeu.ru/Uploads/Me... 031_54.pdf
0
|
|
| 22.01.2018, 14:53 | |
|
Единственное, что могу предположить, это такой формат входных данных:
details=[5,10,2,17,4,5,9,22], где цифры - это время обратобки деталей. То есть, у нас 8 деталей, для каждой свое время обработки. Станков, допутим, 2. Тогда решение выглядит довольно просто(если перебором): - на первый станок одну деталь, на второй все остальные. считаем наибольшее время из двух станков, комбинацию деталей по станкам, сохраняем. - на первый станок одну деталь, но другую.... - .... - на первый станок 2 детали... - на первый станок 2 детали, но другие... .... в результате наименьшее время и комбинация деталей по станкам, нам доступны. по временам вычисляем порядковые номера деталей из входного списка, выдаем результат. можно с самого начала зазипать два списка - входной и [1,2,..] чтобы вконце проще было определять порядковые номера правильного ответа.
0
|
|
|
798 / 601 / 158
Регистрация: 07.10.2013
Сообщений: 1,330
|
|||||||
| 22.01.2018, 17:00 | |||||||
|
получается, пока один станок обрабатывает одну деталь, на другом уже может быть закончена очередная деталь и взята на обработку следующая, тут да, есть о чем подумать, но чистым перебором, это можно уйти в переполнение стека легко, только если совсем мало станков и деталей Добавлено через 9 минут перебором, ну очень плохо, тут какую-то методику надо применять, я не знаю какую, но точно не просто перебором. на ум приходит, что после сортировки по возрастанию, закидывать детали по очереди min время / max время, как закончились станки, следующий проход наоборот max время / min время. но все это голословно, надо экспериментировать в попытке найти оптимальное решение, в чем и состоит применение методик искусственного интеллекта ![]() Добавлено через 12 минут Или сначала сложить время обработки всех деталей и разделить на количество станков, найдем среднее. При составлении векторов для станка, останавливать очередную итерацию, если сумма вектора больше среднего. Или это не среднее должно быть, а другим способом вычисленное ограничение, ограничение (!), в чем и есть суть, - уйти от полного перебора. Добавлено через 4 минуты Добавлено через 8 минут Нет min/max не очень. Можно по возрастанию, исключаю детали из списка в станки, потом по убыванию оставшегося списка деталей, потом опять по возрастанию. Теоретически, строго минимальное все равно надо искать на полном переборе, но какое-то ограничение должно быть, а может и не одно. Добавлено через 1 минуту
0
|
|||||||
| 22.01.2018, 17:00 | |
|
Помогаю со студенческими работами здесь
15
Что вероятнее: две детали обработаны одним и тем же станком или они обработаны разными станками? Узнать за какое минимальное время (в минутах) будут надуты все шарики при оптимальной работе всех участников. Найти время, которое должно пройти до момента, когда часовая и минутная стрелка будут перпендикулярны одна другой На двух станках обрабатываются однотипные детали. Вероятность брака для станка No1 составляет 0,03, для станка No2 — 0,02. Обработанные детали складыв Определить время обработки партии детали каждого наименования Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
ПЛИС
zxcha1ka_ 27.01.2026
AHDL
Разработать программы для синтеза следующих устройств:
1. Параллельного регистра
4-х разрядного с синхронной загрузкой и асинхронным сбросом (обнулением);
Пoмoгитe пoжaлyйстa
|
Загрузка PNG-файла с альфа-каналом с помощью библиотеки SDL3_image на Android
8Observer8 27.01.2026
Содержание блога
SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
|
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
|
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога
SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
|
|
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога
Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip"
Извлеките архив и вы увидите. . .
|
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога
Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д.
Сборка примера
Скачайте. . .
|
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
|
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net
REST сервисы временно не работают, только через Web.
Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
|