解决分隔调度问题的方法

我遇到了一个问题,难以决定/想出解决它的方法。问题如下:

给定N个电话需要打,安排一个时间表,使得尽可能多的电话被打出去。

已知信息:

  • 待处理的电话数量
  • 打电话的人数(将使用电话的人)
  • 电话类型(提醒、计费、谈判等…)
  • 电话类型的预估时长(提醒:1分钟,计费:3分钟,谈判:15分钟等…)
  • 待处理的电话数量
  • 特定电话的理想日期
  • 特定电话的“最早”日期(不能在此之前进行…)
  • 特定电话的“最晚”日期(不能在此之后进行…)
  • 一天只有8小时
  • 规则:

  • 电话不能在“最早”日期之前或“最晚”日期之后进行
  • 完成提醒电话奖励1分,错过提醒电话扣2分
  • 完成计费电话奖励6分,错过计费电话扣9分
  • 完成谈判电话奖励20分,错过谈判电话扣25分
  • 给John打电话必须由第一个给他打电话的人来打。请注意,这不是必须的,但如果这样做,该电话将获得额外的分数…
  • 我对人工智能略知一二,我能认出这是一个适合该领域的问题,但我不知道该采取什么方法…我应该使用神经网络吗?图搜索?

    PS:这不是学术问题。这是我在现实世界中面临的问题。
    PS2:积分系统仍在创建中…这里的样本点数不是真实的…
    PS3:结果算法可以多次执行(批处理作业风格),也可以根据性能在线解决…
    PS4:我的合同规定我将根据以下内容向客户收费:(我打出的电话数量)+(比率*电话的时长),但有一条关于服务质量的条款,仅打提醒电话对我来说不好,因为即使提醒了,人们仍然会忘记参加他们的约会…这降低了我提供的服务的“质量”…我还不知道具体的数字


    回答:

    这似乎不适合用AI解决。

    如果是我,我会创建一套按优先级排序的规则。然后开始填充打电话者的时间表。

    也许其中一条规则是先分配时长最短的电话类型(以满足“最大电话数量”的标准)。

    这听起来越来越像是一个背包问题,你可以用电话时长和电话积分来替代重量和价格。

    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中创建了一个多类分类项目。该项目可以对…

    发表回复

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