论文部分内容阅读
资源分配问题研究如何将可用资源分配给被称为节点(智能体)的用户。它的目标是将(一种或多种)总资源分配给多个智能体的同时保证整体成本最小。在实际领域如经济市场、智能电网、无线传感网络、多跳网络、云系统中,大量优化问题可以近似的建模为一个资源分配问题。在一些实际问题中(如经济分配问题、电能调节问题及采取或支付燃料供应问题),分配给每个节点的资源是实数,我们称这种资源分配问题为实数的资源分配问题。而在另外一些实际问题(如联合补充问题、软件测试资源分配等)中,分配给每个节点的资源只能是整型的,我们称这种资源分配问题为整数的资源分配问题。尽管针对这两种资源分配问题存在大量的集中式解决方案,但是由于集中式算法在大规模网络中存在的过度通信问题以及缺乏鲁棒性等问题,我们期望设计出分布式的方式去解决资源分配问题。同时,由于在无线通信网络的复杂性(如丢包、干扰等)和定向天线在其中的使用,可能只能保证单向性的通信。所以在本文中,我们设计基于本地可用信息及有向图的分布式算法去解决实数资源分配问题和整数的资源分配问题,并且本文以目标函数为凸函数的基本资源分配问题作为研究目标,对应的约束是每个资源自身的约束以及整体资源总和的等式约束。首先考虑实数的资源分配问题。由于干扰造成的掉线以及本地同步时钟的误差会导致网络拓扑的动态变化,所以我们考虑拓扑时变有向的多智能体网络下的该问题。该问题最大的挑战是时变有向的拓扑对本地信息的影响也被考虑为约束的一部分。针对这一挑战,本文设计了一种基于非负的余量的分布式最优化方法,并展示了当时变有向拓扑满足联合强连通的条件时,该算法可以收敛到资源分配问题的全局最优解。针对整数的资源分配问题,我们首先考虑一个有全局同步时钟并且拓扑时不变的有向网络下的最优化方法。在有全局时钟时,我们期望能设计出快速收敛的分布式方法去解决整数资源分配问题。所以我们设计出一种基于最小堆和优化松弛理论的快速收敛的集中式算法作为前置工作。当资源自身约束是[0.D]时,该算法的计算复杂度是O(nlogn + nlog D),优于计算复杂度为 O(nlogn log D)的多阶段(multi-phase)算法。在这种集中式算法基础上,并利用实数的资源分配问题的结论,我们设计出一种基于一致性的分布式最优算法去解决该问题。当有向拓扑满足强连通的条件时,该算法可以收敛到整数资源分配问题的一个全局最优解。最后,由于异步通信可以简化分布式算法并消除系统对同步时钟的依赖,所以我们提出一种基于非负余量的异步通信方法去解决整数资源分配问题。与以上两种算法类似,当有向拓扑满足强连通以及“gossip”条件时,这种异步的方法可以收敛到整数资源分配问题的一个全局最优解。此外,与其他两种算法相同,这种分布式方法也仅仅依赖于本地信息。针对以上这些算法,我们在每个章节中通过仿真实例验证了算法的正确性。