Дяди АСУТПшники, помогите подступиться к граниту науки)) Дяди(тёти)-программисты, возник вопрос по алгоритмизации. Есть некая целевая задача, которая состоит из последовательности действий. Между каждым действием есть время на передвижение до следующего действия, оно разное в зависимости от какого к какому. Так же разные действия занимают разное количество времени. Чтобы выполнить целевую задачу нужно пройти все этапы, но действия можно выполнить в разной последовательности в т. ч. выполняя этапы параллельно. Так же группу действий можно назвать этапом, каждый этап необходимо выполнить. Некоторые действий перед выполнением некоторых последующих действий обязательно необходимо выполнять некое необязательное (для этапа) действие, дающее доступ к следующему действию. Также последовательное выполнение некоторых действий может привести к негативным, но не критичным результатам. Есть ли какой-нибудь грёбанный инструмент для автоматизации разработки эффективного по времени алгоритма, для выполнения полного цикла с минимальным количеством повторений и негативных эффектов? Как разрабатывать эффективные алгоритмы когда они не укладываются в голове?
Комментарии: 17
Konstantin
На решение подобной задачи мой отец делал кандидатскую диссертацию. Что он мне рассказывал, но я мало помню
Dmitry
ну глянь на картинки по конечным автоматам. возможно, получится переформулировать вопрос в общей терминологии
Maxim
Я просто хочу составить идеально оптимальных алгоритм авто заточки и авто смены сварочных электродов для робота Чтобы было минимум движений, минимальный цикл-тайм, без негативных эффектов а так как подобных задач много, хочу освоить универсальную методику для создания пиздатых алгоритмов не держа все данные в голове
Konstantin
Нужно строить подобие графа и ли даже сети с узлами этапов
Dmitry
конечные автоматы. и сверху ещё один автомат
Maxim
Просто меня этому никто не учил, поэтому нужно освоить это самому чтобы стать пиздаче))
Konstantin
И связи между узлами с весовыми коэффициентами Которые соответствуют "трудоемкости" или вернее стоимости перехода
Alexey
Как определяется выбор этапа? Внешняя переменная?
Konstantin
Там проблема в этих коэффициентах
Maxim
Прямо нейросеть какая-то Этап определяется тем, что возможно ли его сейчас выполнить. Выполнены ли необходимые действия.
Z-vladimir
В голову приходит абсолютно независимые алгоритмы которые могут выполнятся независимо друг от друга. И использовать что-то некого маркера в виде бита или значения, по состоянию которого определять, какой алгоритм выполняется и какой уже завершился
Z-vladimir
Это самое пиздатое, когда хочется делать всё пиздатее )))
Alexey
Посмотрите принцип максимального быстродействия Понтрягина
Z-vladimir
Расскажите кратко, как привязать оптимальное управление к такой задаче где нет процессов с реакцией на воздействие. Т.е. для задач ЧПУ
Derun
Делаю сейчас станок, для меня оптимальное управление мин время цикла
Z-vladimir
Ну это же будет задаваться индивидуально, в программе обработки каждой детали. Т.е. если это фрезер, то с оптимальной скоростью и слоем среза и минимума холостого хода. И всё это практически всегда зависит от программы, которая всё пересчитает в G-код. Вручную допиливают только для серийных деталей и после испытаний. А тот принцип максимального быстродействия из описания подходит для процессов где нужен выход на режим, как я понял. Например, процесс получения самогона)) где нужно разогреть сырье до определенной температуры кипения, отрегулировать расход хладагента для оптимального охлаждение паров для конденсации, при этом установка уличная, не постоянная температура окружающей среды и хладагента)). И принцип рассчитывает оптимальный алгоритм переходного процесса из нулевого в рабочее состояние. Ну так я это понимаю)) поэтому спросил, возможно ли его применить для станков, где уже заранее всё определено. Где оперировать можно только стадиями, как замена инструмента и т.п.
Maxim
В том то и дело, что как я сказал - последовательность действий можно выполнить в разном порядке естественно с ограничениями