Форум программистов, компьютерный форум, киберфорум
Python: Решение задач
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 26.06.2020
Сообщений: 5

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

13.04.2022, 00:09. Показов 615. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru