优化服务

 

 

 

 

 

 

 

 

 

操作系统相关研究

  • 优化服务项目

Optimization Services是一个年轻的研究领域,对运筹学和优化社区有很多潜在的好处。受下一代优化软件和标准愿景的激励,optimization Services处理过去几十年来在计算和优化方面积累的各种问题。这项工作通过为诸如标准化问题表示、自动化问题分析和求解器选择、使用新的Web服务标准、调度计算资源、基准求解器、,以及结果验证&所有这些都是在大规模计算优化的特殊要求的背景下进行的。因此,优化服务所需的标准必须非常高。提高操作系统相关标准、工具和系统的质量应该是一项持续的努力。适应研究人员的新需求(可扩展性)和为最终用户提供最佳服务(易用性)应该始终是OS的目标。在以下许多领域建立了合作关系。

  • 标准化

Optimization Services涉及大量需要快速通用的标准协议。标准化过程从工作组注释开始,经过工作草案、候选建议等阶段,最后成为推荐的标准。这样的过程不仅需要进一步的研究工作,例如新的优化问题扩展,还需要更多的组织工作,需要在操作系统框架下正式建立协作关系。

  • 问题库构建

随着各种问题表示的标准化,使用操作系统标准构建优化问题实例存储库的任务自然会到来。问题存储库不再需要按照问题使用的格式进行分类。相反,它们只根据操作系统标准中支持的不同优化类型进行分类。

  • 图书馆大楼

提供操作系统库和操作系统服务器是为了便于采用和使用操作系统标准。除了最初的操作系统设计者之外,其他研究人员可以自由开发自己的操作系统兼容库,例如标准实例的读者和作者,以及传输这些实例的通信代理。

  • 分布式和分散系统中的派生研究

分布式系统在协调、作业调度和拥塞控制方面留下了许多问题。例如,一个明显的问题是,在确定优化类型后,如何最好地分配优化“作业”以在可用的注册服务上运行。通常的优化服务器集中式方案为每个解算器/格式组合维护一个队列,以及每个解算程序可以运行的工作站列表。在去中心化的环境中,我们可能仍然希望保持这种调度控制,同时使调度决策更加分散,即将一些控制转移到求解器服务侧。需要进一步研究,以更好地理解如何将优化问题实例的分类与之前运行的统计数据一起用于改进调度决策。例如,智能调度器不应将两个大型作业分配给单处理器机器,因为它们只会陷入争夺资源的困境;但是,一台分配了一个大作业的机器也可以处理一系列非常小的作业,而不会显著降低任何一种作业的性能。必须评估优化实例的类型和大小,以确定在此调度方法中应将哪个实例视为“大”或“小”。

去中心化体系结构中的核心问题是设计用于对服务请求进行操作的注册和发现机制。例如,优化注册表可以基于求解器性能和资源可用性的某些总体模型分配请求。请求可以在与某些服务匹配后进行调度,也可以将调度作为分配过程的一个组成部分。定价可能涉及代理“租金”以及由各种资源使用措施确定的费用。除了保存和维护有关优化求解器和其他服务的信息外,在分散的环境中,优化注册表的一个关键且更复杂的角色是“更自信”地确定合适的求解器。一个相对简单明了的方案可以依赖于一个数据库,该数据库将解决者与他们可以处理的问题类型相匹配。由分析器确定的问题实例的特征可用于自动生成数据库查询,该查询将返回适当的求解器服务列表。但是,求解器建议应该如何处理属于其他问题类型子集的问题类型(如有界约束优化)(如非线性优化)?或者如何将建议扩展到求解器选项?出于这些目的,服务器或注册表的直接数据库方法可能不够。开发人员将考虑更复杂的方法来确定建议,例如通过业务规则系统。更复杂、更高级的方案可以考虑扩展,以生成按适当程度排序的列表。

  • 局部系统衍生研究

优化服务框架标准化了操作系统分布式系统上任意两个优化服务组件之间的所有通信。该框架没有标准化本地接口。相关项目(如COIN)和从Optimization Services派生的研究(如OS Instance接口、OS Option接口和OS result接口)旨在完成这项工作。COIN项目包括OSI(开放解算器接口)库,这是一个用于线性编程解算器的API,以及NLPAPI,一个带有用于构建非线性编程问题例程的子程序库。Halldórsson、Thorsteinsson和Kristjánsson提出的另一个非线性接口是MOI(Modeler-Optimizer interface),它指定可调用库的格式。该库基于以后缀(反向波兰)表示法表示每个约束的非线性部分和目标函数,然后将整数分配给运算符,将字符分配给操作数,将整数索引分配给变量,最后定义相应的数组集。然后,MOI数据结构对应于堆栈机的实现。LINDO API手册中描述了类似的界面。操作系统框架是对所有本地接口标准化的补充。

  • 优化服务器派生研究

Optimization Services的动机是许多优化服务器当前面临的问题。更具体地说,优化服务旨在提供下一代近地天体。优化服务对近地天体的影响是多方面的:

NEOS服务器及其连接的解算器将使用优化服务框架进行通信,例如使用标准表示进行数据通信。

外部优化提交仍然可以保持尽可能灵活,甚至可能变得更加灵活。至少还将提供一种联网机制,即基于优化服务协议(OSP)的通信。这意味着NEOS将添加一个接口,以便可以完全按照优化服务连接语言(OShL)指定的方式调用它。它还将接受OSiL作为标准输入,并可能逐渐淘汰其他格式。

整个操作系统可以被视为一个新的分散式近地天体。实际上,旧的近地天体将成为新系统中另一个兼容OS的解算器。“近地天体解算器”可以通过将作业进一步委托给其背后的不同解算器来解决更多类型的优化。因此,我们将旧近地天体视为在新操作系统上注册的“元解算器”。

  • 计算软件中的派生研究

随着Optimization Services及其标准OSP协议的出现,相关软件开发人员可能需要考虑如何最好地适应OS框架并实现“OS兼容”。目前已经有两个与Optimizion Services框架相关的直接项目。一个是第3节中描述的优化服务建模语言,另一个是西北大学工业工程和管理科学系Sanjay Mehrotra教授团队正在开发的IMPACT求解器开发项目。这两个项目是优化服务的两个方面:客户端和服务。两者都是为优化服务框架原生构建的,并严格遵循优化服务协议。现有的建模语言和求解器已经或将要(通过编写包装器类)适应优化服务框架,如AMPL建模语言、Lindo API、开放COIN软件和NEOS系统的求解器。

  • 计算算法的派生研究
    • 设计适合优化服务设计的高效计算算法非常重要。优化服务立即提出了如何最佳利用操作系统网络上可用服务的问题。以下是与优化服务相关的计算算法的一些潜在研究领域:
    • 并行计算,其中许多服务可以同时解决类似的优化问题。
    • 通过模拟进行优化,其中模拟服务位于操作系统解算器的远程位置。
    • 优化注册表端的作业调度和服务端的排队。
    • 根据操作系统注册表的需要分析优化实例。
    • 快速准确地生成OSiL实例的建模和编译。
    • 高效的OSxL实例解析和预处理算法。
    • 有效的优化服务流程编排。
    • 由于操作系统标准允许各种优化类型的表示,由于缺乏良好的表示而滞后的算法开发(例如随机编程)有望得到推动。
  • 商业化和衍生商业模式

Optimization Services虽然本身是一个开放框架,但并不阻止注册服务和相关业务商业化。以下是一些相关的商业模式:

    • 建模语言开发人员可以利用Optimization Services为客户提供更多更好的解算器访问,从而提高竞争力。
    • 解算器开发人员专注于开发更好的算法,以提高其竞争力,而不必担心操作系统标准所关注的表示、通信和接口。
    • 开发人员可以将其操作系统库商业化,例如标准实例的读者和作者。
    • 注册表/服务器开发人员可以提供辅助服务,如存储服务、与业务流程相关的流编排服务、广告服务和咨询服务。
    • 分析人员和基准测试人员等辅助服务可能会向相关方收取费用。
    • 解算器所有者可以采用“按需计算”模式,向使用其服务的用户收费。
    • 解算器服务所有者也可以采用“按需结果”模型,即报告其解算器服务器发现的客观结果,但隐藏只有在用户同意支付时才会显示的解决方案。例如,在求解器服务返回的优化服务结果语言(OSrL)中,它可能只写出<objectiveValue>值,而在<solverMessage>元素中,它可以提供用于获取<variableSolution>值的支付指令。