2017 MathorCup Математическое моделирование B Вопросы Общий процесс решения проблем с велосипедами Документы и программы

7-й конкурс MathorCup University по математическому моделированию в 2017 г.

Вопрос Б. Совместное использование велосипедов

Воспроизведение оригинального названия:

  Совместное использование велосипедов относится к услуге совместного использования велосипедов, предоставляемой предприятиями в университетских городках, станциях метро, ​​​​автобусных станциях, жилых районах, коммерческих зонах, зонах общественного обслуживания и т. Д., И представляет собой модель аренды с разделением времени. Совместное использование велосипедов — это новый тип экономики совместного использования. Совместные велосипеды привлекают все больше и больше внимания людей, и, поскольку они соответствуют концепции путешествий с низким уровнем выбросов углерода, правительство также добросовестно наблюдает за этой новой вещью.
  Велосипеды многих общих велосипедных компаний имеют GPS-позиционирование, которое может осуществлять динамический мониторинг данных о транспортных средствах и данных о распределении поездок, а затем делать всепогодные прогнозы спроса и предложения на велосипеды, предоставляя рекомендации по запуску, отправке, эксплуатации и техническому обслуживанию транспортных средств.
  Пожалуйста, заполните следующие вопросы в соответствии с данными, приведенными в следующем приложении и объединенными с данными, собранными вами самостоятельно по мере необходимости:
  (1) Согласно данным о поездках на общих велосипедах в Приложении 1, оцените пространственное и временное распределение общих велосипедов. Например, начиная с определенной точки А, распределение прибывающих в разные точки. Дискуссию можно разделить на периоды времени.
  (2) Если оценочные данные о велосипедном спросе населения получены по данным опроса, см. Приложение 2.
  По оценочным результатам задачи 1 создается математическая модель для решения задачи оптимизации планирования совместного использования велосипедов.
  (3) На основании данных о поездках в Приложении 1 и данных о спросе в Приложении 2 оцените степень удовлетворенности от общих велосипедов, необходимых в каждой области, и укажите свои показатели измерения. Если добавить 100 велосипедов, то как их лучше доставить.
  (4) Приложение 3 представляет собой данные о количестве поездок на такси в определенном районе после инвестирования в различное количество общих велосипедов. Исходя из этого, анализируется влияние инвестиций в общие велосипеды на рынок такси в регионе. В то же время, пожалуйста, соберите фактические данные для количественных исследований.
вставьте сюда описание изображения
вставьте сюда описание изображения

Обзор общего процесса решения (аннотация)

  С появлением и популяризацией общих велосипедов статус общих велосипедов в городском общественном транспорте становится все более и более важным.Благодаря своим быстрым, удобным и экологически безопасным характеристикам общие велосипеды стали важным выбором для жителей, чтобы решить «последние проблемы». миля" проблема проезда .
  Во-первых, мы используем программирование VBA для обработки данных и организуем их в таблицу данных, содержащую следующие пять показателей: время отправления, время прибытия, район отправления, район прибытия и время в пути.Время езды на велосипеде из точки B в точку B заменяется на среднее значение и предполагая, что скорость езды на велосипеде унифицирована со средней скоростью обычных людей 15 км / ч, чтобы решить матрицу относительного расстояния для каждой области.
  Что касается первого вопроса, мы разделим обсуждение на распределение во времени и в пространстве. С точки зрения временного распределения, велосипеды в различных регионах движутся часто и плотно распределяются в течение 420-900 минут и постепенно уменьшаются в другие периоды, а распределение становится статичным после 1380 минут. С точки зрения пространственного распределения, мы получили матрицу OD поездов из зоны отправления в зону прибытия путем статистического анализа программирования VBA, распределение между ними относительно плотное, а распределение в других областях в основном равномерное.
  Для решения второй проблемы устанавливаются единая модель диспетчерского центра и динамическая оптимизационная модель диспетчерского управления. По данным Приложения 1 и Приложения 2 рассчитайте спрос на велосипеды в каждом регионе при наличии велосипедов и определите время спроса и допустимое время на велосипеды в разных регионах. Оценить кратчайшее расстояние между различными регионами по результатам задачи 1, установить единую модель диспетчерского центра и использовать программное обеспечение MATLAB и генетический алгоритм для решения исходного плана диспетчеризации, оптимальный маршрут диспетчеризации 2-5-6-3-7 -10-9 -2. На основе модели планирования мягкого временного окна одного диспетчерского центра создается модель оптимизации динамического планирования спроса, новые требования планирования постоянно вставляются в исходное решение статической оптимизации, а метод «начальная статическая оптимизация + динамическая оптимизация в реальном времени " применяется к нескольким непрерывным задачам статического планирования Непрерывно решать и оптимизировать маршрут планирования. Первоначальный результат оптимизации: 5-2-3-4-8-10-9, из которых 5, 2 и 3 были отправлены.
  Что касается третьего вопроса, необходимо оценить степень удовлетворения потребности в совместном использовании велосипедов в каждой области. Во-первых, мы определяем спрос, удовлетворение и отношение спроса-удовлетворения от зоны отправления i до зоны прибытия j как индикаторы для измерения степени удовлетворенности общими велосипедами в каждой зоне. В соответствии с матрицей OD, полученной в ответе на вопрос 1, и матрицей спроса, приведенной в Приложении 2, можно рассчитать коэффициент удовлетворения спроса от зоны отправления i до зоны прибытия j, а затем можно оценить степень удовлетворения потребности в общих велосипедах в каждой зоне. Из результатов видно, что степень удовлетворенности в каждом регионе колеблется от 78% до 99%, в целом степень удовлетворенности относительно хорошая. В соответствии с коэффициентом спроса на вопрос 2 можно получить план поставки 100 велосипедов.
  По вопросу 4 необходимо проанализировать и изучить влияние инвестиций в общие велосипеды на рынок такси в регионе. Согласно данным в приложении 3, мы берем количество велосипедов в качестве независимой переменной и количество такси в качестве зависимой переменной для построения диаграммы рассеяния. Замечено, что когда количество велосипедов меньше 4000, оно показывает линейную зависимость, а когда больше 4000 — нелинейную зависимость. Поэтому мы настраиваем модель линейной регрессии и модель нелинейной регрессии с x = 4000 в качестве точки сегментации и используем MATLAB для решения уравнения, чтобы получить уравнение. Соблюдая уравнение, мы можем сделать вывод, что количество общих велосипедов отрицательно коррелирует с количеством поездок, то есть чем больше количество общих велосипедов, тем меньше количество поездок, что отрицательно скажется на поездке. -приветственный рынок. Кроме того, мы собрали данные о количестве использованных велосипедов и количестве людей, которые взяли такси в апреле в Шанхае.Из анализа измерения времени можно сделать вывод, что изображения количества использованных велосипедов по фиксированным датам и времени интервалы и количество людей, которые брали такси, показали аналогичные тенденции, в то время как изображения количества велосипедов, используемых фиксированными периодами по дате, имеют линейную отрицательную корреляцию между количеством поездок и количеством поездок.

Предположения модели:

  ❖ Предположим, что 0 минут соответствует 0:00 утра;
  ❖ Предположим, что скорость движения каждого велосипеда постоянна и постоянна;
  ❖ Предположим, что относительное расстояние от зоны отправления i до зоны прибытия j = время в пути × скорость движения.
  ❖ Предположим, что имеется только один диспетчерский центр в районе с 1 по 10, и он расположен в районе 1, оснащенный достаточным количеством диспетчерских автомобилей одного типа для обеспечения диспетчерских услуг во всех пунктах в районе с 1 по 10. ❖ Предположим, что диспетчерские транспортные средства должны выехать из диспетчерского центра для выполнения диспетчерских
  задач Затем ему необходимо вернуться в диспетчерский центр;
  ❖ Предположим, что диспетчерская потребность каждого региона не может превышать вместимость диспетчерского транспортного средства;
  ❖ Предположим, что кратчайшее сетевое расстояние между каждым регионом известно, отправляющие транспортные средства должны выбирать кратчайший путь в дорожной сети между двумя регионами при движении между любыми двумя регионами;
  ❖ Предположим, что средняя скорость движения отправляемого транспортного средства в дорожной сети известна и фиксирована и не зависит от других факторов;
  ❖ Предположим, что последнее место, где диспетчеризация была завершена в предыдущем △t, является начальной точкой нового маршрута диспетчеризации в следующем △t;
  ❖ Предположим, что собранное количество пользователей велосипедов и такси в Шанхае является достоверным и надежным.

анализ проблемы:

  Для задачи 1 при анализе пространственно-временного распределения общих велосипедов считается, что пространство-время может относиться как к пространственному распределению в разное время, так и к временному распределению велосипедов в разных регионах. Рассматриваем комплексно.Для распределения по времени не интуитивно делать непосредственно точечную диаграмму каждой точки, поэтому разбиваем на период времени каждые 60 минут, подсчитываем количество выездов и прибытий велосипедов за период времени, и нарисуйте диаграмму для наблюдения. Для пространственного распределения мы устанавливаем матрицу OD для описания объема пассажиропотока между пунктом отправления и назначения всех поездок в пределах определенного временного диапазона в межрегиональном движении, что косвенно отражает пространственное распределение.
  Для вопроса 2 требуется, чтобы была создана математическая модель для решения проблемы оптимизации планирования общих велосипедов на основе оценочных результатов пространственно-временного распределения общих велосипедов в вопросе 1. Во-первых, предполагая, что расстояние велосипедиста на велосипеде постоянно, относительное расстояние между каждым регионом можно рассчитать на основе среднего времени езды на велосипеде. Во-вторых, в зависимости от того, меняется ли потребительский спрос в реальном времени, задачи планирования можно разделить на статические и динамические задачи планирования. При решении задачи динамического планирования проблема динамического планирования может быть преобразована в несколько непрерывных задач статического планирования для решения, то есть «начальная статическая оптимизация + динамическая оптимизация в реальном времени». Во-первых, первоначальный план планирования формируется в соответствии с требованиями планирования каждого местоположения в системе в определенный момент, а затем требования планирования каждого местоположения постоянно обновляются, и план планирования обновляется одновременно для обеспечения непрерывной обратной связи. требований планирования и путей планирования, и, наконец, достичь цели динамической оптимизации.
  Что касается третьего вопроса, необходимо оценить степень удовлетворения потребности в совместном использовании велосипедов в каждой области. В первую очередь следует измерить показатели степени удовлетворенности велосипедами общего пользования, требуемые каждым регионом, и установить индексную систему оценки, однако из-за неполных данных, приведенных в заголовке, мы не можем получить конкретные данные индикаторной системы. , поэтому в качестве меры потребности каждого региона мы используем только коэффициент удовлетворения спроса, показатель степени удовлетворения потребности в общих велосипедах.
  По вопросу 4 необходимо проанализировать и изучить влияние инвестиций в общие велосипеды на рынок такси в регионе. Согласно данным в Приложении 3, мы можем взять количество велосипедов в качестве независимой переменной и количество такси в качестве зависимой переменной и построить точечный график, чтобы проследить взаимосвязь между количеством велосипедов и количеством такси, и исследуйте, является ли оно линейным или нелинейным, положительным или отрицательным. Затем используйте программное обеспечение MATLAB, чтобы получить конкретные функциональные отношения. Затем получается зависимость между количеством поставленных велосипедов и рынком такси.

Создание модели и решение Общая миниатюра статьи

вставьте сюда описание изображения
вставьте сюда описание изображения

Все документы см. ниже «Только моделирование визитных карточек QQ». Нажмите на визитную карточку QQ.

Программный код: (код и документация платные)

Фактическая процедура показана на скриншоте

import pandas as pd
from math import radians, cos, sin, asin, sqrt,ceil
import numpy as np
import geohash

#数据读取
data = pd.read_csv("./mobike_shanghai_sample_updated.csv")
print(data.head(10))
print(data.info())
data['start_time'] = pd.to_datetime(data['start_time'])
data['end_time'] = pd.to_datetime(data['end_time'])
print(data.info())
data["lag"] = (data.end_time - data.start_time).dt.seconds/60
def geodistance(item):
    lng1_r, lat1_r, lng2_r, lat2_r = map(radians, [item["start_location_x"], item["start_location_y"], item["end_location_x"], item["end_location_y,"]]) # 经纬度转换成弧度
    dlon = lng1_r - lng2_r
    dlat = lat1_r - lat2_r
    dis = sin(dlat/2)**2 + cos(lat1_r) * cos(lat2_r) * sin(dlon/2)**2
    distance = 2 * asin(sqrt(dis)) * 6371 * 1000 # 地球平均半径为6371km
    distance = round(distance/1000,3)
    return distance
#data按行应用geodistance()得到distance列的数值
data["distance"] = data.apply(geodistance,axis=1)
#通过摩拜单车的踪迹获取每次交易骑行的路径
def geoaadderLength(item):
    track_list = item["track"].split("#")
    adderLength_item = {
    
    }
    adderLength = 0
    for i in range(len(track_list)-1):
        start_loc = track_list[i].split(",")
        end_loc = track_list[i+1].split(",")
        adderLength_item["start_location_x"],adderLength_item["start_location_y"] = float(start_loc[0]),float(start_loc[1])
        adderLength_item["end_location_x"],adderLength_item["end_location_y"] = float(end_loc[0]),float(end_loc[1])
        adderLength_each = geodistance(adderLength_item)
        adderLength = adderLength_each + adderLength
    return adderLength
data["adderLength"] = data.apply(geoaadderLength,axis=1)
data['weekday'] = data.start_time.apply(lambda x: x.isoweekday())
data['hour'] = data.start_time.apply(lambda x: x.utctimetuple().tm_hour)
data['cost'] = data.lag.apply(lambda x: ceil(x/30))
#因数据集仅包含八月份发起的订单数据,故以9月1日为R值计算基准
data['r_value_single'] = data.start_time.apply(lambda x: 32 - x.timetuple().tm_mday) 
# 按每个用户id所有订单日期距9/1相差天数的最小值作为r值
r_value = data.groupby(['userid']).r_value_single.min()    
f_value = data.groupby(['userid']).size()    # 按每个用户id八月累积订单数量作为f值
m_value = data.groupby(['userid']).cost.sum()    # 按每个用户id八月累积消费金额作为m值
#把r值、f值、m值组合成DataFrame
rfm_df = pd.DataFrame({
    
    'r_value':r_value,'f_value':f_value,"m_value":m_value})
rfm_df["r_score"] = pd.cut(rfm_df["r_value"],5,labels=[5,4,3,2,1]).astype(float)
rfm_df["f_score"] = pd.cut(rfm_df["f_value"],5,labels=[1,2,3,4,5]).astype(float)
rfm_df["m_score"] = pd.cut(rfm_df["m_value"],5,labels=[1,2,3,4,5]).astype(float)
#后面*1是为了把布尔值false和true转成0和1
rfm_df["r是否大于均值"] = (rfm_df["r_score"] > rfm_df["r_score"].mean())*1
rfm_df["f是否大于均值"] = (rfm_df["f_score"] > rfm_df["f_score"].mean())*1
rfm_df["m是否大于均值"] = (rfm_df["m_score"] > rfm_df["m_score"].mean())*1
#把每个用户的rfm三个指标统合起来
rfm_df["class_index"] = (rfm_df["R是否大于均值"]*100) + (rfm_df["f是否大于均值"]*10) + (rfm_df["m是否大于均值"]*1) 

def transform_user_class(x):
    if x == 111:
        label = "重要价值用户"
    elif x == 110:
        label = "消费潜力用户"
    elif x == 101:
        label = "频次深耕用户"
    elif x == 100:
        label = "新用户"
    elif x == 11:
        label = "重要价值流失预警用户"
    elif x == 10:
        label = "一般用户"
    elif x == 1:
        label = "高消费唤回用户"
    elif x == 0:
        label = "流失用户"
    return label
rfm_df["user_class"] = rfm_df["class_index"].apply(transform_user_class)
data = data.merge(rfm_df["user_class"], on = 'userid', how = 'inner')

Все документы см. ниже «Только моделирование визитных карточек QQ». Нажмите на визитную карточку QQ.

Supongo que te gusta

Origin blog.csdn.net/weixin_43292788/article/details/129425364
Recomendado
Clasificación