Диплом: Автоматическая оптимизация параметров трафика метрополитена с целью уменьшения износа подвижного состава

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
127
На рисунке П.12 представлена блок-схема работы с бланками
расписаний.
Рисунок П.12
На рисунке П.13 представлена блок-схема завершения пользовательской
сессии.
128
Рисунок П.13
129
ПРИЛОЖЕНИЕ 3
actualPassengers, averagePassengers = getTrafficCapacity();
actualTrains, actualIntervals, actualSpeed = getActualParameters();
lineCapacity, trainsCapacity, trainsSitPlaces, lineMaxSpeed, availableTrains = getLineParameters();
map<char, float> pClass;
pClass['A'] = trainsCapacity / 10 * 0 + trainsSitPlaces;
pClass['B'] = trainsCapacity / 10 * 1 + trainsSitPlaces;
pClass['C'] = trainsCapacity / 10 * 3 + trainsSitPlaces;
pClass['D'] = trainsCapacity / 10 * 4 + trainsSitPlaces;
pClass['E'] = trainsCapacity / 10 * 5 + trainsSitPlaces;
if (availableTrains <= lineCapacity) {
lineCapacity = availableTrains;
}
actualLinePassengersCapacity = actualTrains * trainsCapacity;
maxLinePassengerCapacity = lineCapacity * trainsCapacity;
time_t actualTime = time(0);
int time = (actualTime + 10800) % 86400;
if (actualPassengers < actualLinePassengersCapacity) {
if (actualTime < 25200 || actualTime > 75600) {
checkClassCapacity = pClass['A'] * lineCapacity;
checkMaxClassCapacity = pClass['B'] * lineCapacity;
if ((actualPassengers > checkClassCapacity && actualPassengers <= checkMaxClassCapacity) ||
actualPassengers < checkClassCapacity) {
checkClass = 'A';
checkClassCapacity = pClass['A'];
checkMaxClassCapacity = pClass['B'];
classCapacity = (checkClassCapacity + checkMaxClassCapacity) / 2;
recommendTrains = actualPassengers / classCapacity;
recommendIntervals = 7200 / recommendTrains;
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (actualTime < 14400) {
if (recommendIntervals > 360) {
recommendIntervals = 360;
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
130
}
else {
if (recommendIntervals > 150) {
recommendIntervals = 150;
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
}
if (recommendIntervals < 90) {
recommendIntervals = 90;
recommendTrains = 7200 / recommendIntervals;
if (recommendTrains < lineCapacity) {
recommendTrains = lineCapacity;
}
}
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (recommendSpeed > lineMaxSpeed) {
recommendSpeed = lineMaxSpeed;
float T = (42.2 * 2) / recommendSpeed * 3600;
recommendTrains = T / recommendIntervals;
}
}
else {
checkClassCapacity = pClass['B'] * lineCapacity;
checkMaxClassCapacity = pClass['C'] * lineCapacity;
if ((actualPassengers > checkClassCapacity && actualPassengers <= checkMaxClassCapacity) ||
actualPassengers < checkClassCapacity) {
checkClass = 'C';
checkClassCapacity = pClass['B'];
checkMaxClassCapacity = pClass['C'];
classCapacity = (checkClassCapacity + checkMaxClassCapacity) / 2;
recommendTrains = actualPassengers / classCapacity;
recommendIntervals = 7200 / recommendTrains;
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (actualTime < 14400) {
if (recommendIntervals > 360) {
recommendIntervals = 360;
131
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
}
else {
if (recommendIntervals > 150) {
recommendIntervals = 150;
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
}
if (recommendIntervals < 90) {
recommendIntervals = 90;
132
recommendTrains = 7200 / recommendIntervals;
if (recommendTrains < lineCapacity) {
recommendTrains = lineCapacity;
}
}
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (recommendSpeed > lineMaxSpeed) {
recommendSpeed = lineMaxSpeed;
float T = (42.2 * 2) / recommendSpeed * 3600;
recommendTrains = T / recommendIntervals;
}
}
else {
checkClassCapacity = checkMaxClassCapacity;
checkMaxClassCapacity = pClass['D'] * lineCapacity;
if (actualPassengers > checkClassCapacity && actualPassengers <= checkMaxClassCapacity) {
checkClass = 'D';
checkClassCapacity = pClass['C'];
checkMaxClassCapacity = pClass['D'];
classCapacity = (checkClassCapacity + checkMaxClassCapacity) / 2;
recommendTrains = actualPassengers / classCapacity;
recommendIntervals = 7200 / recommendTrains;
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (actualTime < 14400) {
if (recommendIntervals > 360) {
recommendIntervals = 360;
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
}
else {
if (recommendIntervals > 150) {
recommendIntervals = 150;
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
133
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
}
if (recommendIntervals < 90) {
recommendIntervals = 90;
recommendTrains = 7200 / recommendIntervals;
if (recommendTrains < lineCapacity) {
recommendTrains = lineCapacity;
}
}
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (recommendSpeed > lineMaxSpeed) {
recommendSpeed = lineMaxSpeed;
float T = (42.2 * 2) / recommendSpeed * 3600;
recommendTrains = T / recommendIntervals;
}
}
else {
checkClassCapacity = checkMaxClassCapacity;
checkMaxClassCapacity = pClass['E'] * lineCapacity;
if (actualPassengers > checkClassCapacity && actualPassengers <= checkMaxClassCapacity) {
checkClass = 'E';
checkClassCapacity = pClass['D'];
checkMaxClassCapacity = pClass['E'];
classCapacity = (checkClassCapacity + checkMaxClassCapacity) / 2;
recommendTrains = actualPassengers / classCapacity;
recommendIntervals = 7200 / recommendTrains;
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (actualTime < 14400) {
if (recommendIntervals > 360) {
recommendIntervals = 360;
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
134
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
}
else {
if (recommendIntervals > 150) {
recommendIntervals = 150;
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
}
if (recommendIntervals < 90) {
recommendIntervals = 90;
recommendTrains = 7200 / recommendIntervals;
if (recommendTrains < lineCapacity) {
recommendTrains = lineCapacity;
}
}
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (recommendSpeed > lineMaxSpeed) {
recommendSpeed = lineMaxSpeed;
float T = (42.2 * 2) / recommendSpeed * 3600;
135
recommendTrains = T / recommendIntervals;
}
}
else {
checkClass = 'F';
recommendTrains = lineCapacity;
recommendIntervals = 7200 / recommendTrains;
if (recommendIntervals < 90) {
recommendIntervals = 90;
recommendTrains = 7200 / recommendIntervals;
if (recommendTrains < lineCapacity) {
recommendTrains = lineCapacity;
}
}
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (recommendSpeed > lineMaxSpeed) {
recommendSpeed = lineMaxSpeed;
float T = (42.2 * 2) / recommendSpeed * 3600;
recommendTrains = T / recommendIntervals;
}
}
}
}
}
}
else {
checkClassCapacity = pClass['C'] * actualTrains;
checkMaxClassCapacity = pClass['D'] * actualTrains;
if ((actualPassengers > checkClassCapacity && actualPassengers <= checkMaxClassCapacity) ||
actualPassengers < checkClassCapacity) {
checkClassCapacity = pClass['B'] * lineCapacity;
checkMaxClassCapacity = pClass['C'] * lineCapacity;
if ((actualPassengers > checkClassCapacity && actualPassengers <= checkMaxClassCapacity) ||
actualPassengers < checkClassCapacity) {
checkClass = 'C';
checkClassCapacity = pClass['B'];
checkMaxClassCapacity = pClass['C'];
classCapacity = (checkClassCapacity + checkMaxClassCapacity) / 2;
recommendTrains = actualPassengers / classCapacity;
recommendIntervals = 7200 / recommendTrains;
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (actualTime < 14400) {
if (recommendIntervals > 360) {
recommendIntervals = 360;
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
136
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
}
else {
if (recommendIntervals > 150) {
recommendIntervals = 150;
}
checkTrains = 7200 / recommendIntervals;
int i = 0;
while (i < 1) {
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
if (checkSpeed <= lineMaxSpeed) {
if (checkTrains < lineCapacity) {
recommendIntervals -= 10;
checkTrains = 7200 / recommendIntervals;
checkSpeed = (42.2 * 2) / (checkTrains * recommendIntervals) * 3600;
}
else {
recommendTrains = checkTrains;
recommendSpeed = checkSpeed;
break;
}
}
else {
checkTrains += 1;
if (checkTrains >= lineCapacity) {
checkTrains = lineCapacity;
}
if (recommendIntervals > 90) {
recommendIntervals -= 10;
}
}
}
}
if (recommendIntervals < 90) {
recommendIntervals = 90;
recommendTrains = 7200 / recommendIntervals;
if (recommendTrains < lineCapacity) {
recommendTrains = lineCapacity;
}
}
recommendSpeed = (42.2 * 2) / (recommendTrains * recommendIntervals) * 3600;
if (recommendSpeed > lineMaxSpeed) {
recommendSpeed = lineMaxSpeed;
float T = (42.2 * 2) / recommendSpeed * 3600;
recommendTrains = T / recommendIntervals;
}
}
else {
checkClassCapacity = checkMaxClassCapacity;
checkMaxClassCapacity = pClass['D'] * lineCapacity;
if (actualPassengers > checkClassCapacity && actualPassengers <= checkMaxClassCapacity) {
checkClass = 'D';

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Agile-методология в управлении проектами на примере ООО «Ресурсный центр «Академия КлассИнфо»
Aвтoмaтизaция пpoцecca вeдeния инфopмaциoннoй бaзы o дoлжнocтяx и вaкaнcияx c укaзaниeм тpeбoвaний к уpoвню знaний и нaвыкoв кaндидaтoв для гpуппы кaдpoв вoйcкoвoй чacти 3474»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
Cовершенствование управления рентабельности предприятия (на примере гуипп «бендерская типография «полиграфист»)
Event - менеджмент: реализация проекта (на примере ООО "АГРОПАК")