数学建模——运输问题(Python实现)

 

 

(5)表上作业法求解运输问题——解的改进

 

(6)产销不平衡的运输问题

(7)有转运的运输问题

     3、案例分析1——沃格尔法(寻找初始基可行解)


(1)案例分析

 

(2)Python实现

#运输问题求解:使用Vogel逼近法寻找初始基本可行解

import numpy as np

import copy

import pandas as pd

def main():

mat=pd.read_csv(‘表上作业法求解运输问题.csv’,header=None).values

#mat = pd.read_excel(‘表上作业法求解运输问题.xlsx’, header=None).values

#c=np.array([[4,12,4,11],[2,10,3,9],[8,5,11,6]]) #成本矩阵

#a=np.array([16,10,22]) #供给量

#b=np.array([8,14,12,14]) #需求量

[c,x]=TP_vogel(mat)

#[c,x]=TP_vogel([c,a,b])

def TP_split_matrix(mat): #运输分割矩阵

c=mat[:-1,:-1]

a=mat[:-1,-1]

b=mat[-1,:-1]

return (c,a,b)

def TP_vogel(var): #Vogel法代码,变量var可以是以numpy.ndarray保存的运输表,或以tuple或list保存的(成本矩阵,供给向量,需求向量)

import numpy

typevar1=type(var)==numpy.ndarray

typevar2=type(var)==tuple

typevar3=type(var)==list

if typevar1False and typevar2False and typevar3==False:

print(‘>>>非法变量<<<’)

(cost,x)=(None,None)

else:

if typevar1==True:

[c,a,b]=TP_split_matrix(var)

elif typevar2True or typevar3True:

[c,a,b]=var

cost=copy.deepcopy©

x=np.zeros(c.shape)

M=pow(10,9)

for factor in c.reshape(1,-1)[0]:

while int(factor)!=M:

if np.all(c==M):

break

else:

print(‘c:\n’,c)

#获取行/列最小值数组

row_mini1=[]

row_mini2=[]

for row in range(c.shape[0]):

Row=list(c[row,:])

row_min=min(Row)

row_mini1.append(row_min)

Row.remove(row_min)

row_2nd_min=min(Row)

row_mini2.append(row_2nd_min)

#print(row_mini1,‘\n’,row_mini2)

r_pun=[row_mini2[i]-row_mini1[i] for i in range(len(row_mini1))]

print(‘行罚数:’,r_pun)

#计算列罚数

col_mini1=[]

col_mini2=[]

for col in range(c.shape[1]):

Col=list(c

### 关于互联网出租车的数学建模方法 #### 1. 指标的建立与时空下的供求匹配分析 为了评估不同时间和空间下出租车资源的“供求匹配”程度,可以引入多个量化指标。这些指标应能反映供需双方的数量关系及其变化趋势。具体来说: - **需求密度**:单位时间内某一区域内等待乘车的人数或订单量。 - **供给密度**:同一时间段内在该区域可提供服务的车辆数目。 - **响应时间**:从发出请求至接收到最近可用车辆的时间间隔。 通过上述三个维度的数据采集和统计分析,能够有效衡量特定场景下车队运营效率以及乘客体验满意度的情况[^1]。 #### 2. 补贴政策效果评估 对于各公司推出的补贴措施是否有助于改善打车难题,则需构建相应的效益函数来描述补贴前后市场状态的变化情况。此过程中可能涉及到的因素包括但不限于: - 用户端成本降低幅度; - 司机收入增长比例; - 平台交易频次提升速率等。 借助历史数据分析工具对比实施前后的各项参数差异,进而得出结论说明补贴策略的有效性和可持续性特点。 #### 3. 新平台的设计理念——基于聚类算法优化调度机制 当考虑开发一款全新的叫车应用程序时,除了沿袭现有模式外还可以尝试创新性的解决方案比如采用机器学习中的K-means聚类法来进行任务分配。这种方法允许系统根据实时路况信息快速识别出哪些地点存在较高的用车需求,并据此安排附近闲置车辆前往支援;同时也能促进顺路拼单业务的发展,提高整体运输效能的同时减少空驶里程浪费现象的发生[^4]。 ```python from sklearn.cluster import KMeans import numpy as np def cluster_tasks(task_positions, n_clusters=150): """ 对给定的任务位置进行聚类 参数: task_positions (list of tuples): [(lat1, lon1), ...] n_clusters (int): 聚类数量 返回: labels (array-like): 每个任务所属类别标签 """ kmeans = KMeans(n_clusters=n_clusters).fit(np.array(task_positions)) return kmeans.labels_ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值