【问题标题】:Possible number of combinations for return travel routes回程路线的可能组合数量
【发布时间】:2009-05-16 13:51:45
【问题描述】:

我的数学很糟糕,真的很糟糕。太糟糕了,我什至都在努力表达这个问题,但是就这样吧。

情况是火车旅行,您需要使用四个数组。

Leaving_Stations Arriving_Stations

离开_日期 Returning_Dates

假设您只对单程路线感兴趣,您需要弄清楚有多少路线组合。那是(我认为)

possible_routes = (leaving_stations x arriving_stations) x leaving_dates

但是,如果我想回程,我该如何计算有多少种组合呢?

更新::

或者这会起作用吗?

可能的路线 = ((离开站 x 到达站) x 离开日期) x (离开日期 x 返回日期)

【问题讨论】:

    标签: math combinations


    【解决方案1】:

    嗯,答案是你的数组名称并不完全清楚。

    假设我们有 4 个数组:

    • 离开日期
    • 返回日期
    • 离开车站
    • 到达站

    那么我们可以在这里做一点解释。让我们使用符号 |x|表示数组 [x] 的基数(元素数),因此 |Leaving Dates|是您可以离开的日期总数。

    然后 |离开日期| * |离开车站| * |到达站|会翻译为,选择一个日期离开,然后选择一个车站离开,然后选择一个车站到达,并以所有可能的方式做到这一点。所以这似乎是您对单程旅行的要求。

    现在,实际上,我将假设这是一个现实世界的问题,所以假设我们选择在 6 月 20 日从南安普顿出发前往约克郡,在回程中我们现在可以选择所有应该是返回日期(意思是我假设你想回家)。

    所以我们可以计划往返旅行的方式总数将是首先如上所述计划单程旅行,然后选择返回日期,即|离开日期| * |离开车站| * |到达站| * |返回日期|。前 3 个学期如上所述选择单程旅行,最后一个学期从所有可能的日期中选择一个返回日期。当然,如果我们可以选择返回另一个车站而不是我们离开的那个车站,那么等式将是 (|Leaving Dates| * |Leaving Stations| * |Arriving Stations|) * (|Return Date| * |离开车站|),或者如果我们甚至可以从与我们第一次到达的到达车站不同的到达车站出发,它将变成(|离开日期| * |离开车站| * |到达车站|)*(|返回日期| * |到达站| * |离开站|)。

    【讨论】:

      【解决方案2】:

      我不确定我是否理解正确,但这似乎是一个典型的graph-routing 理论问题。您可以查看Minimum PathA* 算法。

      【讨论】:

        【解决方案3】:

        首先,A-A 路线是错误的,所以:

        possible_routes = 
        (
          leaving_stations x arriving_stations - 
          (leaving_stations [intersection] arrivig_stations) 
        ) x leaving_dates
        

        交集操作是属于两个数组的元素

        第二,当你想要2条路线时,组合是:

        possible_2way_routes = 
        (
            leaving_stations x arriving_stations - 
            (leaving_stations [intersection] arrivig_stations) 
        ) x 
        leaving_dates x 
        (return_dates that later than leaving dates+route time)
        

        'leaving_dates x (return_dates that later than leave dates+route time)' 是很奇怪的事情,所以它可能更容易计算高估计 - 数字,在任何情况下都不少于 possible_2way_routes。最高计数将是所有返回日期晚于离开日期时,所以:

        possible_2way_routes <= 
        (
            leaving_stations x arriving_stations - 
            (leaving_stations [intersection] arrivig_stations) 
        ) x leaving_dates x return_dates
        

        哦,我记得如何计算'return_dates 晚于离开日期+路线时间'。它是:

        for each element of leaving_dates {
        sum=sum+return_dates that later than ith leaving date+route time}
        

        “路线时间”仍然存在问题...

        【讨论】:

        • 这个答案的格式可以更清楚。当您需要向右滚动每个公式才能完成阅读时,很难理解。尝试将方程分成多行,或使用单个字母变量来表示不同的量。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-03
        • 2018-01-11
        • 2012-06-16
        • 2021-04-23
        • 1970-01-01
        相关资源
        最近更新 更多