0 / 0 / 0
Регистрация: 26.06.2020
Сообщений: 5

Алгоритм работы двух автооператоров линии

13.04.2022, 00:09. Показов 632. Ответов 0

Студворк — интернет-сервис помощи студентам
Здравствуйте, поставили задачу, нужна помощь с решением. Буду признателен!
Необходимо реализовать программу на языке Python, которая выполняла бы вычисления порядка выполнения технологических операций, чтобы общее время было минимальным.
Известно:
1. Два автооператора линии, каждый обслуживает свои позиции. Первый автооператор с (1 по 5 позиции), второй с (5 по 12 позицию), то есть когда первый доходит до 5, подъезжает второй берет объект и везет на выполнение своих позиции, первый в свою очередь едет в начало и все выполняется непрерывно. Автооператоры не должны простаивать (либо с минимальным временем). Все операции должны выполняться последовательно с 1 по 12.
2. У каждой позиции свое время. Можно варьировать в определенных пределах.
3. На выходе программы должен быть порядок позиции и ее время.
Вот алгоритм, который был в книге:

В качестве исходных данных принимаются:
– технологические операции (0, …, n, 0 – загрузка подвески покрываемыми деталями, n – разгрузка подвески);
– длительность каждой операции T_k (k = 0,1,2,…,n).
Для одних операций длительность задана жестко определенным числом, для других задан диапазон допустимых значений от T_(k_min ) до T_(k_max ). Для лимитирующей операции под T_k понимается длительность операции, деленная на число позиций этой операции;
– время на выполнение заявки (вызова) Δt_a;
– вызов автооператора y_k (k = 0,1,2,…,n) – момент времени, в который автооператор должен начинать обслуживание k-й операции; y_0 – перенос подвески с покрываемыми деталями на первую операцию производится в начальный момент времени. Совокупность заявок y_k служит основой для составления расписания работы автооператора;
– время такта T_p (интервал между двумя последовательными входами подвесок с покрываемыми деталями в гальваническую линию должен быть минимальным).
Согласно данным алгоритмам [8], необходимо учитывать, что:
– время такта не может быть меньше длительности нормирующей (самой длительной) операции
T_p≥max⁡[(n+1)Δt_a; maxT_k ];
– через время T1 выполнения первой операции подвеску с покрываемыми деталями необходимо перенести на вторую операцию

y_1=y_0+T_1
и так далее до тех пор, пока очередное значение не превысит время такта Тр. Это будет обозначать, что данная операция выполнена в следующем такте, в данном такте необходимо обслужить операцию, загруженную в предыдущем. Таким образом, необходимо выполнить заявку
y_m=y_(m-1)+T_m-T_p
Если две заявки окажутся одинаковыми, то есть у автооператора будет два вызова в один и тот же момент времени, то одна из заявок не будет выполнена. Следовательно, все числа y_k (k = 0,1,2,…,n) должны отличаться друг от друга не меньше, чем на время выполнения заявки Δt_a.
Задача определения минимального времени такта и составления заявок автооператора состоит в нахождении совокупности чисел T_k (k = 0,1,2,…,n),
удовлетворяющих условиям
Задача определения минимального времени такта и составления заявок автооператора состоит в нахождении совокупности чисел T_k (k = 0,1,2,…,n),
удовлетворяющих условиям
T_(k_min )≤T_kl≤T_(k_max )
при минимальном значении T_p, при котором числа

if y[k-1] + Tk < Tr:
y[k] = у[k-1] + Tk
else:
if y[k-1] + Tk >= Tr:
y[k] = у[k-1] + Tk- Tr

удовлетворяют условиям
|y_i-y_k |>∆t_a;j≠k,j,k=0,1,2,…,n.
В качестве шага дискретизации целесообразно принимать минимальную среди всех заданных длительность операции
∆T_a=minT_k
Диапазоны допустимых значений длительности операции заменяются наборами целых чисел, начиная с наименьшего заданного значения и кончая наибольшим
T_kl=T_(k_min )+l-1,
из заданной совокупности возможных целых значений
T_(k_min )≤T_kl≤T_(k_max )
где l=1,2,…,m_k; m_k=T_(k_max )-T_(k_min )+1; l=0,1,2,…,m_k.

Здесь алгоритм для одного автооператора, необходимо реализовать для двух.
Заранее огромное спасибо!!!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.04.2022, 00:09
Ответы с готовыми решениями:

Алгоритм работы двух- и одно-просмотрового чистого компоновщика
привет!=)прошу помочь )нужно написать алгоритм работы двух и одно - просмотрового чистого компоновщика.

Алгоритм рисования линии Ву
Нужно написать класс WuLineDrawer реализующий интерфейс LineDrawer, алгоритмы Брезенхема и DDA уже написаны, с Ву у меня появились...

Алгоритм рисования линии
Написал алгоритм Брезенхема рисования линии. Коды - ниже. ' ' Created by SharpDevelop. ' User: 26-60-911 ' Date: 14.08.2017 '...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.04.2022, 00:09
Помогаю со студенческими работами здесь

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

Алгоритм DDA для линии
Как это на Python переписать: procedure DrawLine(); begin while true do begin System.Console.Write('X: '); var x :=...

алгоритм вывода толстой линии
Здравствуйте. Помогите написать алгоритм вывода толстой линии.

Алгоритм Брезенхейма построения прямой линии
Напишите программу, реализующую алгоритм Брезенхейма построения прямой линии,

Объясните,пожалуйста,алгоритм DDA-линии
В-общем,в своей программе пришлось использовать этот алгоритм,он был взят отсюда:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

Новые блоги и статьи
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
Контроль уникальности заводского номера - вариант №2
Maks 24.03.2026
В отличие от предыдущего варианта добавлено прерывание циклов, также добавлены новые переменные для сохранения контекста ошибки перед прерыванием цикла: Процедура ПередЗаписью(Отказ, РежимЗаписи,. . .
SDL3 для Desktop (MinGW): Вывод текста со шрифтом TTF с помощью библиотеки SDL3_ttf на Си и C++
8Observer8 24.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-text-sdl3-c. zip finish-text-sdl3-cpp. zip
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
Контроль уникальности заводского номера - вариант №1
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru