优化停车场问题。应使用哪些算法来最大化停车场内的车辆数量?

我应该使用哪些算法(无论是暴力破解还是其他方法)来在一个停车场内停放尽可能多的车辆(假设所有车辆大小相同),确保至少有一个出口(从容器中),并且车辆不会被阻塞。或者有人能展示一个这个问题的程序化解决方案吗?

停车场的形状可能会有所不同,但如果假设它是某种不变的形状也可以接受。

另一个编辑:假设停车场内的行驶距离不是一个因素(虽然如果它是一个与停车场内车辆数量相关的加权因素会很棒)。

另一个编辑:假设是二维的(没有起重机或从车辆上方行驶)。

另一个编辑:一旦车辆停好后,不能移动车辆(这不是代客泊车)。


回答:

好吧,让我们简化并具体化一些。假设我们的车辆是单位正方形,停车场是N x N,我们需要从左下角进入/离开。一个简单的模式可以使停车场几乎达到2/3的满载(以N=12为例展示):

+------------+|C CC CC CC C||C CC CC CC C||C CC CC CC C||C CC CC CC C||C CC CC CC C||C CC CC CC C||C CC CC CC C||C CC CC CC C||C CC CC CC C||C CC CC CC C||C CC CC CC C|             |  -----------+

我可以证明,最好的情况是使停车场达到2/3的满载。想象一下,你从一个完全满的车库开始,一次开出一辆(当前可达的)车来构建空位。每次你移走一辆车时,你最多会产生3辆新可达的车,并移走一辆曾经可达的车(现在是一个空位)。所以每制造一个空位,你最多创造两个新的可达车辆。要使2/3 N^2的车辆可达,你需要至少制造1/3 N^2的空位,而这些是你所有的方块。所以你最多能将车库填满2/3。

上面的简单模式在渐进上是最优的,因为当N趋向于无穷大时,其密度接近2/3。(有点无聊,我原本希望某种树状模式能做得更好。)

Related Posts

使用LSTM在Python中预测未来值

这段代码可以预测指定股票的当前日期之前的值,但不能预测…

如何在gensim的word2vec模型中查找双词组的相似性

我有一个word2vec模型,假设我使用的是googl…

dask_xgboost.predict 可以工作但无法显示 – 数据必须是一维的

我试图使用 XGBoost 创建模型。 看起来我成功地…

ML Tuning – Cross Validation in Spark

我在https://spark.apache.org/…

如何在React JS中使用fetch从REST API获取预测

我正在开发一个应用程序,其中Flask REST AP…

如何分析ML.NET中多类分类预测得分数组?

我在ML.NET中创建了一个多类分类项目。该项目可以对…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注