可以使用遗传算法或线性算法更好地解决此优化问题吗?

问题描述

我有以下问题: 我正在尝试解决由串联连接的应用程序的多个“ C”组件组成的多目标优化。

例如,假设我有一个应用程序的3个不同组件,并且具有以下状态:

         +-------------------------------------------------------------------+
         |  Component |   latency_device1      |latency_device2 | Output_Data|
         |            |(Resource_Constrained)  |                |            | 
         +-------------------------------------------------------------------+
         |   c1       |      2.1ms             |   3.2ms         | 30MB      |
         |   c2       |      3.2ms             |   1.2ms         | 10MB      |
         |   c3       |      1.3ms             |   0.2ms         | 30MB      |
         +------------+------------------------+-----------------+-----------+

例如,c1和c2将在资源受限的设备上运行,而c2将在另一设备上运行,并且组件相互连接。该算法必须基于满足的约束条件,提供要在哪个设备上运行的组件(相互连接),例如在第一设备上运行的设备c1和c2,在另一个设备上运行的运行设备c3,要在另一个设备上运行。 我的目标是根据以下约束将应用程序分为两部分,以在两个不同的设备(d1(资源受限和d2))上运行。

           C1: For instance for the above problem,the amount of data sent from c2(device1) to 
               c3(device2) must be minimum due to limited bandwidth available (satisfying bandwidth 
               constraint)
           C2: The division point to be selected(c1,c2) must respect the constraint of the device 
               limitation available memory left on the device1.
           C3: The overall latency of the application after splitting the application on different 
               devices must be minimum.

* obs:实际数据可以包含大约158个组件。

我需要一种快速且可以实时使用的算法。

我可以用LP或遗传算法解决吗?我该如何解决这个问题?

我已经尝试过的事情:

  1. 我尝试了线性搜索算法,但它不能同时优化两个目标。

在遗传算法的情况下,我困惑于如何代表上述问题的染色体将是如何为上述情况编码染色体的组成部分。

谢谢

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)