CN110321218A - 一种基于点对点网络系统求解混合整数程序的方法 - Google Patents

一种基于点对点网络系统求解混合整数程序的方法 Download PDF

Info

Publication number
CN110321218A
CN110321218A CN201910283251.8A CN201910283251A CN110321218A CN 110321218 A CN110321218 A CN 110321218A CN 201910283251 A CN201910283251 A CN 201910283251A CN 110321218 A CN110321218 A CN 110321218A
Authority
CN
China
Prior art keywords
computer
sub
mip
tree
point
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201910283251.8A
Other languages
English (en)
Inventor
何品翰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Zhuojin Communications Co Ltd
Original Assignee
Suzhou Zhuojin Communications Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Suzhou Zhuojin Communications Co Ltd filed Critical Suzhou Zhuojin Communications Co Ltd
Priority to CN201910283251.8A priority Critical patent/CN110321218A/zh
Publication of CN110321218A publication Critical patent/CN110321218A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Software Systems (AREA)
  • Development Economics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Business, Economics & Management (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明揭示了一种基于点对点网络系统求解混合整数程序的方法,在分布式环境中求解混合整数程序(MIP)的方法,在此参与优化进程的计算机或用户机数量可能十分庞大,为了应对在公共环境和异构环境中面临的一切困难(含负载均衡和隐私等问题),将这些拟议方法设计为具有鲁棒性。

Description

一种基于点对点网络系统求解混合整数程序的方法
【技术领域】
本发明属于规划求解技术领域,特别是涉及一种基于点对点网络系统 求解混合整数程序的方法。
【背景技术】
混合整数编程是一种制定和优化复杂业务、工程或任何复杂的离散优 化问题的方法,获得了广泛认可。它是一种优化建模语言,具有充分通用 性,可以涵盖十分广泛的优化问题。由于它具有数学性质,因此能够解决 大部分未经解决且阻碍网格、集群、台式机网格网络传播的问题。当前的 点对点(P2P)网络可以连接数量非常多的公共计算机,具有十分异构化 的计算性能。MIP是数学程序的一种约束性形式。
本发明中用到的混合整数程序(MIP)具有如下定义:
MIP:Minf(x)
g(x)≧0
其中,x为决策变量(部分或全部决策变量只可取整数解),f为一个 实值目标函数,是一个关于决策变量的数学函数,g是实值函数,被称为 约束条件。优化目标是使每个决策变量的最终结果为数值,从而使目标函 数最小化。
MIP主要分为三大类:1)混合整数线性程序;2)混合整数非线性程 序;3)混合整数二次程序。就复杂性而言,所有这些问题均属于NP-hard 类别,因此这些问题伴随karp-减少而互相减少。它们的经典求解方法是 决策树搜索分支定界算法。在此每个决策树节点均代表一个程序,而整数 约束条件则从此程序中删除,被称作松弛问题。
本发明的一方面涉及用分支定界算法或分支切割算法求解MIP。
用分支定界(BB)算法求解MIP
分支定界(BB)算法是一种递归搜索方法。在其中每一个步骤,解空 间均被分隔为几个较小的子问题;在下一个递归步骤中,要么予以解决, 要么被进一步分隔为更小的子问题。在递归过程中,在解决了所有子问题 之前,将构建一个搜索树(称为分支定界树)。在MIP求解程序中,搜索树 的每个节点本身便是一个MIP问题。在定界阶段,节点的MIP问题松弛(整 数约束条件放宽至简单的定界约束条件),松弛问题得以解决。很明显, 松弛问题的解是对应的MIP的解的下界,任何可行的整数解均为关于原MIP 代价的上界,凭借一些最先进的启发式算法求解松弛问题,可以推导出可 行的整数解。
在分支阶段,首先要检测该解,从而确定是否可以满足整数约束条 件。如果任何变量违反了整数约束条件,便选择在分支阶段生成两个均具 有一项额外约束条件的子问题,以便排除在当前不可行的解。从形式上来 看,如果整数变量x有一个非整数解f,则要将约束条件添加到初始MIP问 题,形成两个子问题。如此一来,所有整数解在其中一个子问题中便具有 了可行性。很明显,分支生成了一个亟需处理的子问题指数,之后才能求 解原来的问题。如果(1)子问题有一个整数解,(2)子问题不具可行性, (3)线性子问题的目标值比当前的最佳整数解差(定界),便可撇弃(或 深入了解)这些子问题,每个无法理解、有待解决、亟需随后处理的子问 题均被称作搜索树的活动节点。
混合整数线性程序(MILP)
众所周知,混合整数线性程序以灵活方式系统地阐述组合优化问题。 混合整数线性求解程序可以解决大量算法问题,甚至是NP-完备(难以解 决的)问题。很显然,较之于输入项的大小,混合整数线性求解程序的执 行时间呈现出指数形式。一个混合整数线性程序包含一个线性程序 (LP),是一个线性函数在受到线性约束时的最小化形式,其部分或一切变量均应为整数。任何线性程序均可在多项式计算时间内有效地予以解 决。在混合整数线性求解程序中可以执行基于线性程序的分支定界算法。
基于线性程序的分支与定界效率尤其依赖于混合整数线性程序与松弛 问题的解之间的差距。如果松弛程度较紧且松弛的约束条件近似于可行整 数域,那么差距便很小。线性程序松弛程度可以通过添加对原始混合整数 线性程序有效的不等式(称为截平面)加以收紧。为了提高分支和定界算 法的效率,通常将它们与截平面法(称为分支和切割)结合使用。
分布式系统(网格、点对点、台式机网格)
求解非常复杂的计算问题需要在多台计算机上运行并行算法。如今的 计算机集群主要用于大规模计算,其中包含几十台(或数百台)专门的高 性能计算机。丛集计算机主要用于以并行方式求解单个(或少数几个)问 题,因此计算机间的均衡负载便成为一个关键挑战。网格计算机类似于丛 集计算机,但具有地理分布式特点,允许更多高性能计算机参与计算。网 格计算机也已得到广泛应用,提供了大规模计算能力。网格网络和丛集网 络的关键缺点是难以为并行算法提供通用工具或保持可靠且可信的并行计 算环境。
另一个备选项是台式机网格,试图利用全球的个人电脑的空转周期形 成强大的分布式系统。此类项目如EntropiaTM网络、SETI@家庭TM、 Folding@家庭TM、Parabon'sTM抗癌-计算TM均旨在以开放方式来解决问题。 这些台式机网格基于慷慨地将空闲计算能力贡献出来,用于研究目的的互 联网社区。除非这些网格的设计不是仅针对特定类型的计算,否则人类的 主要作用在于并行各类算法,以实现台式机网格。尽管台式机网格已实现 巨大的计算能力,但目前来看,每项任务的计算时间比任何商业化计算机 应用程序能承受的时间要长得多。例如,Folding@家庭在2008年1月实现 了1000多个teramops,即每秒执行1015个浮点运算操作。随着桌面网格的 成功,必须假设有一个分布式、异构化公共环境;但是本文的目标在于快 速解决问题,以便引起商业应用程序注意,通过建立计算时间市场来更有效地利用全世界的空转计算能力。换而言之,本文的目标在于为参与计算 的计算机提供报酬。
与此同时,点对点(P2P)网络已实现与超高数量计算机互联。点对 点应用程序通常为轻量级程序且易于安装。它们的协议可以越过防火墙和 网络地址转译(NAT)。相对于网格网络,点对点网络的主要优势在于安装 和维护的便易性。点对点计算机网络在应用层运行,所有客户机均提供计 算能力。当前典型的点对点网络一般通过临时连接来接入节点,主要用于 共享内容文件或实时数据(例如:音频或视频流媒体)。
人们基本上没用点对点网络获取共享计算能力。因此,需要一种将点 对点网络用于桌面网格类网络的系统,从而快速解决问题。
【发明内容】
本发明的主要目的在于提供一种基于点对点网络系统求解混合整数程 序的方法,能够准确高效的求解混合整数规划问题。
本发明通过如下技术方案实现上述目的:一种基于点对点网络系统求 解混合整数程序的方法通过互联互通的代理计算机网络,以分布式为基础 来解决至少一个具有显著计算意义的问题的方法。这一方法包含以下步 骤:(1)、定义一个可以在一台/批代理计算机(作为第一台/批计算机) 上解决且具有显著计算意义的问题;(2)、向每一台互联代理计算机提供 分布式处理管理实用程序,促进以分布式方式来解决问题;(3)、使用分 支定界算法为问题定义多个子决策树;(4)、将每个子决策树配给其中一 台可以用于解决子决策树的代理计算机;(5)、将每个子决策树的解反馈 到第一台/批计算机;(6)、在第一台/批计算机上聚合这些解,从而给出 问题的解。
与现有技术相比,本发明一种基于点对点网络系统求解混合整数程序 的方法的有益效果在于:能够核实和复制在任何有关计算机上运行的工 作。此外,本发明系统可以评估MIP框架的计算时限。它描述了多种支持 分布式问题求解时限的方法。在部分程度上得到解决的问题甚至可以在以 后随时得到进一步优化。它还描述了在此类层级网络中实现负载均衡的多 种方法。用户机在安装了点对点实用程序后,可将其未使用的计算能力出售给其他用户,为快速解决MIP提供便利,实现巨大的计算机能力。
【附图说明】
图1概述当前这一发明说明的系统。
图2说明了当前这一发明的实例,在此四台计算机通过点对点网络互 联,且这些计算机正在发现一个分布式搜索树。
图3描述了搜索树相对应的计算机层级。
图4说明了MIPorig、MIPbranch、MIPcomp间的关系。
图5说明了未经解决的子问题的层级归并。
图6说明了父-祖父-父归并操作。
图7说明了当前这一发明保护隐私的方法。
图8说明了分支定界决策树中根节点和p节点之间的路径。
【具体实施方式】
实施例一:
当前的此项发明描述了用于解决具有显著计算意义问题的方法;尤其 是在分布式环境的MIP中,涉及优化进程的计算机(或用户机)数量可能 十分庞大(例如,一个点对点网络)。当前点对点(P2P)网络可能接入了 大量可公开寻址和/或不可公开寻址,以及可能具有异构化计算性能的计算 机。
当前这一发明从一个方面描述了为应对公共和异构化环境中的一切困 难而设计出的鲁棒方法。此项发明克服了在所述系统中平衡分支定界决策 树负载的难题,与当前为网格和丛集网络设计的并行MIP求解程序的任务 之间存在显著差异。
当前这一发明的另一个方面包含了一个点对点实用程序,能实现如下 所述的进程。因此,所述的系统可在分布式网络中运行。图1大致说明了 当前这一发明描述的系统。计算机(16a、16b、16c、16d)通过点对点实 用程序(12a、12b、12c、12d)与由互联网(10)启动的点对点网络互 联。当前这一发明提供了点对点实用程序(12a、12b、12c、12d),完善了 下文将描述的进程。
由于点对点实用程序启动的进程具有十分普遍的递归性流程结构,因 此可以通过在参与计算的计算机间建立起层级,实现可扩展的问题求解方 式。分布式处理管理实用程序(14a、14b、14c、14d)可以促成可扩展式 问题求解方式。这一分布式处理管理实用程序可基于如下详细描述的几个 因素和选项来运行,从而优化互联计算机间的MIP分布。所述子问题分发 进程将在下文得到更为全面的描述。分布式处理管理实用程序的一个方面 可能是即将在下文得到描述的进度代理。
为了应对公共环境,本文提出了一项技术,能够核实和复制在任何有 关计算机上运行的工作。此外,本发明系统可以评估MIP框架的计算时 限。它描述了多种支持分布式问题求解时限的方法。在部分程度上得到解 决的问题甚至可以在以后随时得到进一步优化。它还描述了在此类层级网 络中实现负载均衡的多种方法。用户机在安装了点对点实用程序后,可将 其未使用的计算能力出售给其他用户,为快速解决MIP提供便利,实现巨 大的计算机能力。
当前这一发明的第三个方面通过打乱抽象的子问题以及消除逻辑结构 和人工组织,描述了一些隐藏初始问题并且避免参与优化过程的匿名用户 浏览问题信息的技术,从而解决了一个公共网络存在的问题,因此保证了 秘密性和机密性。较之于当前的并行处理系统,来自其他计算机的计算请 求是行业标准MIP数据文件,在应用任何供应商提供的求解程序时均具有 极高的安全性和巨大的灵活性。
当前这一发明的第四个方面描述了建立计算能力市场,可能会对未来 的互联网技术产生深远影响。许多互联网安全和加密方法均基于解决复杂 计算问题时面临的各项困难。凭借本发明可以轻易避免垃圾邮件,同时防 止阻断服务攻击。
在分布式系统中解决MIP问题
MIP一般包括以递归方式将一个混合整数问题分解为可在相对较短的 时间内解决掉的子问题,这些子问题的解也可以递归方式加以聚合,使得 MIP问题的解成为子问题的解的聚合形式。
下文将对如下每一过程展开更为全面的描述。因此,图1所示的节点 具有一个父节点,此节点可以接收一个子问题,有选择地转换,从而确保 隐私性。接下来,在请求子节点之前,此节点可在设为阈值的时间段内开 始解决此问题。一旦超过设定的时间阈值,此节点可能会估计是否需要子 节点来解决子问题。如果是,此节点可以将子问题以进一步的子问题形式 分发给子节点。一旦每个子节点完成了任务,便可将解反馈到此节点加以 聚合。
最后,一旦节点接收到所有解或时限失效,便可将该解传回父节点。 根节点最终可通过递归方式,接收到MIP的解。
大部分MIP问题中的分支定界树的尺度可能极为庞大,并且可能需要 大量计算资源来求解其所有的节点。由于定界和深度等原因,搜索树可能 呈不规则形状。有可能直接并行化分支定界算法;但由于搜索树呈高度不 规则形状,因此在不同处理器间以一种均衡方式来分配工作有可能是一项 极有难度的任务。随着搜索的推进,其形状可能会因推导出的更紧密的新 上界和新下界而异。
在分布式系统中可以将搜索树的几个分支并行起来开发。通过细分每 个主动分支定界树节点,可以形成多个主动树节点。每台计算机可以通过 不断地将活动分支定界树节点(或子决策树)发送到其他计算机处理,以 有限的尺度(例如搜索树中主动分支定界树节点数量的约束条件)来解决 MIP问题(参阅图2实例)。在当前的并行MIP求解程序中,常见概念是用 中心单元为工作计算机分配子决策树,其中可能涉及维护全局信息和控制 求解程序的工作进程。
优化进程可能需要向涉及计算的所有计算机分发一些全局信息,其中 可能包括迄今为止发现的最佳上界或下界,以及全局截平面。假设涉及的 计算机具有地理分布式和异构化特点,因此不含用于同步计算的公共时 钟。换而言之,计算机间的通信可能具有异步性。
并行MIP求解程序的主要目标可能是实现可扩展性,同时显著减少获 得最优解的并行运行时间。同时,高效计算可能会成为一个重要目标,意 味着涉及计算的所有计算机运行时间之和应该接近连续运行时间,即可用 的最佳连续算法的运行时间。由于如下原因,这一效率可能会降低:
通信开销:花费在发送和接收信息上的时间,包括将信息压缩至发送 缓冲器并在另一端解压。
冗余工作性能:还未在顺序算法中执行的工作。
由于解决MIP问题的运行时可能是此问题尺度的指数函数,因此不能 假定系统中开始的每个MIP问题均获得了最优解。对于许多实际问题,这 甚至可有可无,因为有些问题即便用上全世界所有的计算能力也无法解 决。当前这一发明披露了一种全新的框架,能够核实在部分程度上得到解 决的MIP的性能,甚至可以在以后需要时随时开展进一步优化。
保持大规模网络可扩展性的递归模型
为了捕捉点对点网络的主要优势,一项重要的设计标准是以共享每个 节点的计算能力为基础,建立起一个系统,使得整体的计算能力随着额外 节点的加入而增加。为了实现这一目标,可以将分支定界子决策树直接分 配给计算机。因为分支规则和边界可用作添加到原始MIP问题中的约束条 件,所以每个子决策树均可表示为一个MIP问题。换而言之,在递归过程 的每一层,输入的问题均可能是一个具有给定边界的MIP问题。这会形成一个十分普遍的递归模型,进而为在参与优化过程的每台计算机上均使用 不同的MIP求解程序提供便利。
图2展示了四台通过点对点网络互联的计算机正在发现一个分布式搜 索树。图3描述了与如前图所示的搜索树相对应的计算机层级。每台计算 机可以通过不断地将活动分支定界树节点(或子决策树)发送到其他计算 机加以处理,以有限的尺度(例如搜索树中活动分支定界树节点数量的约 束条件)来解决。MIP问题的分支定界搜索树可分为多个子决策树,在参 与解决问题的计算机上形成层级。发送和接收子问题的计算机可分别称为父计算机和子计算机。由于结构具有递归性,因此可以保留可扩展性,这 是因为每台计算机可能仅与其父计算机以及有限数量的子计算机保持通信 (为了容错,它也可能仅有少数几台备用父计算机)。分发全局信息产生 的开销可能在很大程度上取决于涉及的计算机数量及其层级。
凭借进度代理开展负载均衡
即使分支定界决策树呈十分不规则形状,在大多数情况下,通过为需 要得到进一步计算的子决策树分配更多计算机,也可以缓解负载均衡问 题。此外,通过为计算能力市场的形成提供便利,每台用户机可以尝试出 售其计算能力,宣传其可用性,为获得邀请展开竞争(或直接等待),从 而加入点对点网络,优化在其中一项指令内并行的问题的求解进程。另一 方面,参与计算的计算机数量越多,便越可能推高并行开销。因此,实现 负载均衡的主要折中做法可能针对涉及的计算机数量和计算效率。
图6说明了一项额外的负载均衡任务,将参与计算的计算机间形成的 层级深度降至最低。为了实现这一目标,可以引入一种方法,通过将每台 参与计算的计算机的子计算机交付给父计算机来退出计算任务(这一过程 可称作父计算机-祖父计算机合并)。
当父计算机已经完成计算,但子计算机仍旧在处理其MIP问题时,可 以激活此进程。如此一来,便可减少层级深度,而参与计算的计算机亦可 作为新的子计算机重新加入计算进程。可以使用在此称作进度代理(PA) 的实用程序来实现上述议题,它在每个点对点节点上运行,以便监视和协 调分布式计算任务。
应当注意的是,尽管本发明虑及点对点网络上的用途,但在此甚至没 有分配权利的必要性。也就是说,接入点对点网络的计算机可能有不同的 决策能力,使得一台计算机(例如根节点)可能有权将某些子分支分配给 其他节点(例如子节点),而另一些计算机(例如子节点)可能无权决定 是否可以使用这一子分支或应该处理哪些分支。
进度代理的另一项重要任务是以智能方式来识别计算速度的阻碍因 素,有可能将一些子问题重新分配给速度相对较快的计算机,从而加速求 解MIP问题。在每个层级上,进度代理可以收集事关计算状态的所有统计 数据,将其汇总,然后反馈到父计算机。如此一来,发起计算的用户机可 以一直跟踪问题的实际处理状态(例如处理此问题的计算机的数量,已经 解决的大致百分比)。
新型MIP求解程序
为应对公共环境,本文建议扩展MIP求解程序的接口,提供可能的选 项来核实(或复制)其中涉及的一台/批计算机已经完成的工作。可通过将 相同问题分配给其他任何一台计算机,以这种直接的方式来核实一个MIP 问题的最优解;但是,对于一个在部分程度上得到解决的MIP而言,这一 方法相当复杂。
此外,为了促进形成计算能力市场,可将一个新选项添加到MIP求解 程序的接口上,从而不仅可以将迄今为止所发现的最佳结果,还可以将一 个涵盖所有未经解决的分支定界子决策树MIP问题(作为原始MIP的一个 子问题)反馈给用户机。从形式上来看,求解程序可以收到输入的MIP问 题(以MIPorig来表示),并将迄今为止找到的最佳解连同第二个MIP问题 (以MIPcomp来表示)反馈回去,此问题涵盖所有未经解决子问题的MIP公 式。上述机制基于如下事实:可以简单快速地从MIPorig中减去子问题。如 果得到的解无法令人满意,那么用户机可以通过求解MIPcomp,一直以此方 式来继续求解此问题。
减去MIP问题
根MIP问题可以MIPorig表示,而子问题是在分支和定界过程中由 MIPorig分支得到的,可用MIPbranch来表示。一种技术可能是减去两个MIP问 题(从形式上而言,MIPbranch是从MIPorig中减去的,从而形成 MIPcomp=MIPorig/MIPbranch),在此减去的MIPbranch问题是MIPorig的一个子问 题。为了简单起见,可以假设只有二进制变量是通过收紧变量边界实现了 分支,且MIPbranch中不包含额外的截平面。换而言之,MIPcomp和MIPbranch可 能具有相同的约束条件;但是,较之于MIPcomp,MIPbranch的一些二进制变 量可能收得更紧。这些约束条件可能没有必要,且从理论上而言,可从其 他任何MIP问题中删除任何MIP问题,但是根据本发明,这可能是MIP解中 的一个典型案例。
减除MIP问题可被称作一个互补问题,用MIPcomp表示。MIPbranch和 MIPcomp这两个问题可以涵盖MIPorig的整个整数问题空间。但是,MIPbranch和MIPcomp可能不相交(没有可行的共同解)。换而言之,通过求解MIPbranch和MIPcomp,我们可以保证得到MIPorig的最优解。
这一MIPorig可以表示为:
MIPorigMinf(x)
g(x)≥0
其中,根据上述假设,B为二进制分支变量集合,可以将分支变量xi赋值为1或0。由此,它可以表示为MIP表达式的约束条件xi=βi,其中, βi为xi的分支变量界限。分支问题可由下式给出:
MIPbranchMinf(x)
g(x)≥0
参考图2,以下问题可能涵盖整个解:
MIPcompMinf(x)
g(x)≥0
如下证明1表明,MIPbranch与其互补的MIPcomp可能不相交,并且涵盖 MIPorig的整个问题空间。因此,MIPcomp可能只是MIPorig的子问题。在此, 对于所有的i∈Bn,xi可以取任何值,但xi=βi除外。
取如下约束条件:
称之为互补约束条件,将其添加到MIPorig中,得出互补的MIPcomp问 题。证明1:如下之和的每一项:
为较大的非负项,因此对于所有i∈Bn而言,仅当xi=βi,该和等于0, 否则该和则大于0。换而言之,MIPbranch可以表示为:
MIPbranchMinf(x)
g(x)≥0
由于xi∈[0,1]为二进制变量,因此该和只能取整数值。我们可以看出 MIPbranch和MIPcomp涵盖了一个不相交的问题空间,但它们的并集涵盖了 MIPorig
从MIP问题中减去多个分支
通过在MIPorig中加入多个互补约束条件,我们可以从初始问题中减去 多个分支。从形式上而言,拟议的方法可以推广到给定一个MIPorig和多个 MIP1 branch、MIP2 branch、……、MIPn branch子问题:
M
一个单MIPcomp的公式如下:
MIPcompMinf(x)
g(x)≥0
MIPbranchMinf(x)
g(x)≥0
M
从而求解所有这些问题,得到最优解。如下述证明2所示,对应的子 问题不相交,涵盖了MIPorig的整个问题空间。因此,从MIPorig中减去子问 题可能仅仅会给它加上一项约束条件。
证明2:由证明1得出结论:MIPcomp问题只能包含MIPorig的子问题。其 中,对于所有i∈B1而言,xi可以取任何值,但xi=βi除外;对于i∈Bn所有 而言,xi可以取任何值,但xi=βi除外。对于所有i∈Bn而言,xi=βi。由 此,MIPbranch和MIPcomp可能涵盖不相交的问题空间,但它们的并集可能涵 盖MIPorig
可以进一步建议将整个整数变量在根节点上转换为如下所述的一系列 二进制变量,这也促进了更高级别的隐私保护。如此一来,减去每个 MIPbranch可能仅仅是给此问题增加了一项约束条件。但是可以推广这一拟 议的技巧,用它来应对新的截平面或分支整数变量。
一种更通用的减去MIP的方法
根据本发明,当在MIPorig中加入一个新的约束条件,形成MIPbranch时, 我们还必须定义补充约束条件。
令h(x)表示新的约束条件。由于它们是截平面或分支,因此是根据 一些整数变量来定义的。可以定义一个互补的约束条件h'(x)≧0,使得 对于任意整数变量实例而言,要么有hi(x)≧0,要么有h′i(x)≧0,但 是两者无法并存。尽管不存在为每种分支规则和截平面定义互补条件的通 用方法,但是通过引入新的二进制变量,总是可以将其简化。
关于分布式MIP求解的时限
MIP用户可能会需要时限来取回一个解。本发明还可将时限用于负载 均衡之目的。在拟议的框架中,输入的问题可包含一个MIP(MIPorig)问 题和一个求解时限。求解程序可能会在时限内反馈迄今为止找到的最佳解 和第二个MIP问题(MIPrest)。第二个问题是未经解决的子问题的并集,或 者仅为新约束条件的并集。当一台计算机接收到一个问题时,它可以估计 出此问题的计算开支,决定应该发送的活动节点数量和身份,以便在时限 失效前求解剩余部分的子决策树。如此一来,此问题可能会沿网络传播, 在时限失效时,最后一个子问题可能会反馈结果,或者生成其无法解决的 MIP子问题。其父计算机可能会收集这些MIP,将这些程序与未经解决的 子问题合并为一个单独的MIP问题。这一合并后的MIP问题可能会被反馈 给它们的父计算机,以此类推。最后,这一根节点可能会收到在时限内未 经解决的MIPcomp问题。如果用户机对得到的解的质量不满意,便会生成一 个可在以后随时加以解决的MIPrest问题,以便得到一个关于初始问题的更 好解。
为了落实上述机制,每个用户机在解决MIP问题时均可能意识到时限 逐渐迫近,从而收集所有未经解决的分支。接下来,我们可以根据上述方 法计算出MIPcomp,将结果反馈给父节点。
出于两种原因,可能存在未经解决的分支:
从其子问题得到了一个MIPbranch。在这种情况下,可能首先要求用户 识别添加到问题中的互补约束。用户可能低估了其接收到的MIP问题大 小,或者高估了其计算能力,并且无法解决其正在处理的BB子决策树。此 情况下,每个完全求解的子决策树可以被视为MIPbranch,并可以从问题中删 减。除了完全求解的子决策树外,松弛问题的最优解代价可能在MIP问题 求解中包含一些信息。在第二种情况下,如果以非常随机的方式求解BB决 策树,并且有大量完全求解的子决策树,则可以显著增加MIPcomp的大小。
图5说明了未求解子问题的层次合并。一旦识别出未求解的子问题, 就可以将相应的互补约束添加到形成MIPcomp的MIPorig中,然后将其发送回 其父级。因此,此方法可以递归重复,层次结构的根节点可以接收聚合的 MIPcomp。MIPcomp的大小可能大于MIPorig,原因是每个删减的子问题都可能 表现为一个附加约束(或者可能是一个二进制变量)。为了保持较小的 MIPcomp,需要对MIP问题的求解时间进行精确的近似。
停止MIP问题求解后生成MIPcomp的方法
当MIP求解器耗尽了求解时间,但无法解决分配给它的MIP问题时, 可能会生成一个MIPcomp问题,此问题可能包含所获得的大部分信息。随 后,通过求解MIPcomp,可以以适当的开销继续求解过程。理想情况下,求 解MIPcomp所需的时间与求解MIP问题所需的剩余时间相同。为此,MIPcomp可能需要包含MIP求解过程中获得的大部分信息。
每个完全求解的子决策树(剩余的完全测量节点和整数节点)都可以 被视为MIP分支,并可以从原始MIP问题中去除,如前几节所述。但是, 分配给活动节点中松弛问题的最优解的代价可能会在MIP问题求解中包含 一些信息,这些信息可以作为新的切割(约束)包含在MIPCOMP中,其 过程如下。
目标可能是从MIPcomp中删除分数解,因此当求解MIPcomp时,这些分 数解不再是可行域的一部分。
本发明在其中一个方面提供了一种为每个求解节点生成切割的方法。 设a为活动节点,稍后必须求解。设p为其父级,已经求解父级,并提供了 一个分数解。可以为每个节点生成切割,该节点是活动节点的父节点。
图7展示了根节点和节点p之间BB决策树中的路径P。请注意,与节点p 相关的子问题是根问题和n个分支切割,其中n是P的长度。节点可以从根 开始,沿着BB决策树中的路径P进行索引,这样根节点具有索引1,而第i 个节点也具有索引1。最后一个节点仍然称为节点p。路径P的第i个节点上 的变量分支可以用xi表示。沿P的第i个分支切割可以表示为xi=βi,并且由 于每个变量是二进制的,所有βi为0或1。从路径P连接到第i个节点不相交 的BB节点可以称为第i个节点不相交子BB决策树的节点。第i个节点不相交 子BB决策树节点的最大(如果最小化目标函数,则为最小)松弛解可以用 ri表示。
在这种情况下,可以在变量x1,…,xn上定义线性切割(约束)。格式 如下:
其中f(x)是优化的目标函数,a0,……,an是常系数(如果最小化 目标函数,则我们在切割中得到的目标函数大于常系数)。为了计算这些 n+1系数,可以定义n+1个方程,以便求解这些方程得到a0,……,an的 值。第n+1个方程为
也就是说解的代价为xi=βi,对于所有i=1,…,n替换值必须是rn+1。 第n个方程可由以下公式得出:
这意味着xi=βi的解对于所有i=1,…,n-1和xn=1-βn替换值必须为rn。 同样,第i个方程可由以下公式得出:
在这两种情况中,任何具有max函数的方程都可以用两个方程代替。 以此方式,可以用n+1变量给出2n-1稍微不同的方程组。注意,n+1方程的 n+1变量可以用高斯消元法求解,因此其可能至少有一个有效解。
维持可扩展性的分支定界技术
BB决策树中的每个活动节点可以发送处理,也可以自行处理。在处理 每个树节点时,可以根据分支定界算法生成两个新的子节点。压缩和发送 树节点可能比处理树节点花费更多的时间。在这种情况下,可能需要应用 特殊的分支技术来避免活动BB节点超出限度。如果计算机上的活动BB节 点过多,则可能会成为计算中的瓶颈。这个问题的一个合理解是在将多个 活动节点发送到新计算机之前,将它们合并成一个MIP问题。通过这种方式,计算机可以轻易地将活动节点的数量减少到其可以有效处理的级别。 使用上述方法可以合并相同分支的活动节点(请参见消除MIP问题)。
另一种技术是使用节点选择方法(如深度搜索)来发现BB决策树,直 到完全测量出一个(或多个)BB节点。利用BB的统计信息可以估计出决 策树的大小。这种近似可以直接使用BB决策树的平均深度,或匹配间隙减 小或已测量节点比率的曲线。利用BB决策树的近似大小,计算机可以估计 解决MIP问题的计算资源需求,并可以决定是否需要子节点。建议选择离 根最近的活动BB节点发送给子节点。
每个用户可以估计其可以处理的子问题的大小,并可以将问题的其余 部分发送给其他用户处理。由于用户必须等待其子任务完成,所以低估问 题大小可能会导致并行的效率低下。如果用户可以将其子任务委托给任何 其他用户,则可以降低此类低效率。下文描述了这种机制(请参见父节点 和祖父节点的复制和合并)。另一方面,对问题规模的高估可能导致 MIPcomp的庞大规模,此规模可能更为不利,在估计工作价值时可能被视为 负面的。
并行效率
求解BB决策树中,每个节点的计算时间通常比压缩并发送这些BB决 策树节点到其他计算机所花费的时间少几倍。因此,目标是要有一个最佳 数量的子节点(即不超过要求)。一般来说,确保并行效率的关键任务是 确定哪些BB决策树节点是要发送的良好候选节点(因为解决相应的MIP子 问题要比发送MIP子问题花费更多的时间),以及哪些BB决策树节点将自 行处理。
解决这个问题的两种方法包括:
使用间隙阈值,其中,如果找到的最佳整数解与活动节点的松弛代价 之间的间隙小于预定阈值,则活动节点的子节点可能不会发送出去。
在邀请子节点参与计算之前,计算机必须花费最短的时间来解决问 题。
可靠性
由于涉及的计算机数量众多,可靠性可能是一个重要问题,但是这个 问题在可信和可靠的网格网络或桌面网格网络中通常很少受到关注,而桌 面网格网络的快速响应则不那么重要。不可靠的原因可能是计算机或应用 程序关闭,或者仅仅是无法保证计算的正确性。
计算的鲁棒性可以通过在多台计算机上(即使是没有子计算机)部分 复制计算来提高。父级计算可以被复制,否则如果关闭父级计算,子级计 算也会丢失。父级计算可以由祖父计算复制,这也有助于父级计算在完成 所有计算后合并到其祖父计算中(请参见父节点和祖父节点的复制和合 并)。由于网络中可能存在大量的节点,因此冗余对于并行运行时的适用 性来说,并不会成为一个关键问题。
父节点和祖父节点的复制和合并
将作业发送到其他计算机(子级)的用户(父级)可能需要复制,因 为如果父级已关闭,子级将无法发回其结果。
这个问题可以通过复制其父级的父级(祖父级)来解决。由于负载平 衡的原因,这一解决方案可能是有利的,因为当父级完成其MIP子问题的 解决后,其可能只离开计算,其子级可能被祖父级接受。这样,所涉及的 计算机之间的层次结构的深度就可以保持在较低的水平。
图6展示了如何实现这种方法。当一个问题发送给子级时,祖父级的 ID也可能包含在消息中。经过最短计算时间后,子级可以向祖父级发送介 绍性消息。如果祖父级可以接受子级,子级可以发送其MIP问题实例。这 样,祖父级可以核实父级(其子级)所做的工作。
问题数据的隐私保护
当用户遇到优化问题时,首先可能需要将其定义为MIP问题。一般来 说,用户不想公开想要在开放式环境中解决的问题。建议将传统的密码方 法应用于安全通道上的传输问题,这样以来,只有子级才能了解所处理的 问题。然而,可能需要更有力的手段,使子级无法理解其正在解决的原始 优化问题。例如,如果一家公交公司想要开辟一条新的线路,那么可以在 网络中启动一个新的公交调度优化,以计算启动新的公交线路的价格。新 公交线路的路由可能是一个商业秘密,对于公交公司来说,即使在MIP问 题中制定了新的拓扑结构,解决新拓扑结构的计算机也无法重建新的拓扑 结构,这个问题对于公交公司来说可能至关重要。
密码学中的一个开放性问题是将问题隐藏在实际解决它的计算机上。 显然,事实上,问题背后的图形可能会有助于解决问题,尤其是在可以应 用有效的图形算法的情况下,因此毫无疑问隐藏问题可能会加强求解器的 工作,并且后来提出的方法必须应用得非常谨慎,通常更高级别的隐私保 护会导致效率降低。应该注意的是,这里使用的“隐私”一词可以扩展到 任何需要保密或机密的数据。这些数据可能与个人数据、商业机密数据或任何其他数据相对应。为了是定义更加明确,本披露中的“隐私”并非单 指“个人信息”。
使用最低、基本、中等和超高级别的隐私保护。每个级别的详情见下 文。相应的隐私保护技术可能会修改MIP公式以隐藏问题的敏感部分。建 议只在根节点上进行这种转换,否则在不了解转换的情况下验证用户并减 去MIP分支将成为一项复杂的任务。
隐私保护的最低级别
最低级别的隐私保护是指在不牺牲并行效率的情况下请求最高级别的 隐私保护。其可以包括首先预先解决问题,进而显著地减小系数矩阵的大 小,而不是重新密封系数矩阵来减少数值不稳定性,也不是最后计算额外 的剖切面。
隐私保护的基本级别
隐私保护的一个基本级别是要求原始优化问题的结构保持隐藏状态。 在许多情况下,可能不是问题本身携带了应该保持隐藏的重要信息,而是 其结构、逻辑组织,或者更普遍地说,是问题背后的人类思想。MIP问题 的逻辑组织可以表现为系数矩阵模式或者系数矩阵块的复制。通过重新安 排变量和约束并将原来的MIP问题转化为一种统一的形式,可以消除大多 数逻辑组织,但仍然可以将转化后的问题的解扭曲回原问题的解。
通过预先解决问题,可以消除重复和琐碎的约束。实际(非整数)变 量可以转换为y=a·x+b替换变量x,其中a和b为随机值,y的下界和上界分 别设置为a·xtb+b和a·xub+b。注意,对于整数变量来说,a可以是1或-1,但 是b必须是整数值。最好将原始MIP问题的每个变量保持为非负状态。使用 这些技术可以减少约束表示中的变量数量(对于MILP,其是系数矩阵中的 非零元素),这样通过网络传输问题所需的时间就更少了。最后,可以计 算出额外的剖切面,并将其添加到MIP中,并且可以删除那些过于松散而 无法限制可行性区域的约束条件。
为了防止用户根据解来猜测原来的优化问题,目标函数和变量边界可 以转换成统一的格式。设f(x)为目标函数,其中x为问题的决策变量。 通过引入一个新的变量Sobj并包含Sobj=f(x)-a的新约束,要最小化的新目 标函数将是Sobj。通常假定MIP问题的每个变量都是非负的。因此,可以添 加常量a作为约束条件,以确保变量Sobj为非负。常数a可以设置为与松弛解 代价相同的值。这种方法可能不适用于每种类型的MIP;例如,在二次规 划中,成本函数可以是二次函数,但是约束必须是线性的。
接下来,所有整数变量(而不是二进制变量)都可以用以下方法替换 为几个二进制变量。设x为整数变量,可通过以下方程代入
x=x0+2x1+4x2+K+2ixi
其中xi是二进制变量,选择参数i,得到xup-xtb≦2i,其中xup和xtb分别 表示变量x的上下界。在这种情况下,可以添加两个新约束:
xtb≤x0+2x1+4x2+K+2ixi
x0+2x1+4x2+K+2ixi≤xup
除非这两个新约束条件不重要,否则这种替换通常应该在涉及x的每 个约束条件中进行。
对于实变量,可以应用y=a·x+b转换,使y的上界为0,下界为1(如果 x变量没有上界,则为无穷大)。
线性变换可以在约束条件中执行。任何约束条件都可以与常量相乘。 此外,相等约束条件(“=”的约束条件)可以相互添加。
变换矩阵是可逆的,这一点可能很重要。对于MILP来说,可以将系数 矩阵与左边的另一个(转换)矩阵相乘。该方法可用于减少系数矩阵中非 零元素的数量,以便实现这一级别的隐私保护。
最后,变量和约束的顺序可能会改变。利用上述方法,可以在问题中 提供一个二进制变量的加扰序列(连同一些实变量),一个由单个条目组 成的成本函数,以及一个加扰和修改的系数矩阵,其中非零元素较少。这 种处理可能隐藏了MIP问题结构背后的大部分人类想法和私密输入数据。
隐私保护的中等级别
一个中等级别的隐私保护是将MIP的所有系数和原优化问题的结构都 隐藏起来。在这种情况下,MIP的输入数据及其逻辑组织可能被隐藏。用 户可以使用随机转换来转换MIP问题的每个元素;但是,转换后问题的解 可能会被扭曲回原始问题的解。如果不了解随机矩阵,就无法恢复原来的 问题公式。
目前的方法适用于MILP。MILP问题可以表述为:
MincT·x
A·x≥b
其中x代表变量的向量,其中一些变量只能取整数值,而c和b是系数 的向量,A是带整变量的系数矩阵。矩阵A有m行和n列。向量b也称为“右 手边”,而cT·x被称为目标函数。
为了首先变换矩阵A的每一个系数,所有的不等式都可以通过引入松 弛变量转化为方程。如果线性程序的约束是:
那么此公式可以写为
上式中,sj是非负松弛变量。此非负松弛变量被称为线性规划的增广 形式。
接下来,目标函数cT·x可以作为对MIP问题的约束进行添加,方法是 引入一个额外的松弛变量Sobj(正如在基本隐私保护级别中所描述的那 样)。因此,可能会出现以下问题:
MinSobj
在矩阵形式下,MIP可写为
其中E′是一个带有一些删除列的单位矩阵。请注意,松弛变量只能分 配给这些行,而这些行对应于带有不等式符号的约束。向量s对应于松弛变 量。以这种方式,问题可能有i个变量。
可能会生成下一个随机非奇异(m+1)-by-(m+1)二次矩阵R。R是非 奇异的,因为R可能有一个逆矩阵R-1,所以R·=R-1=E,其中E是单位矩 阵。本矩阵可能是问题的密钥。不了解这个矩阵,就很难求出原始的MILP 问题。
代替原问题
可以作为系数矩阵发送,而不是发送右边的b′=R·[0b],因此问题变 成如下形式:
MinSobj
A′·[Sobj x s]=b′
或者用公式:
用这种方法可以把问题转化成原来的系数都无法计算出来的形式。注 意,我们引入了几个松弛变量来保持不等式的符号,这增加了问题的规 模。
矩阵R和R-1可以通过在矩阵E上对称地随机应用基本行(或列)操作 多次来生成。基本行运算有三种类型:
1、行切换,用于矩阵中的一行与另一行切换。
2、行乘法,用于一行中的每个元素被一个非零常量相乘。
3、行加法,用于一行被该行和另一行的倍数之和替换。
转化问题的最优解可以与原问题的解相同。还可以应用基本隐私保护 级别中描述的技术,以便解可以对应于一系列二进制变量(以及一些实变 量)的加扰序列。
为了提高效率,可以进一步应用上文描述的方法(请参见提高解决转 换的MIP问题的性能)。然而,智能MIP解算器也可以利用问题中发现的良 好逻辑组织。另外,由于效率很重要,我们可以适度地使用(仅限于用户 需要的程度)建议的方法。此外,由于分支定界算法的性质,原始问题可 能总是由根计算机来解决,因此所有其他计算机只能解决搜索树中的一个 分支,该分支可能只是原始问题空间的一个子集(例如,用一些附加约束 来扩展MIP问题)。
提高求解转换MIP问题的性能
由于松弛变量的数量很大,MIP问题的大小可能会增加。此外,如果 原始系数矩阵A是稀疏矩阵,则可能需要在与随机二次矩阵相乘后保持稀 疏。
如果MIP中存在实变量,则可能需要应用以下进一步的转换。设xi为 整数,xr为MIP问题的实变量。变量可以重新排列,得到x=[xi xr]并将其 引入松弛变量,最终可以将MIP问题表示为:
约束条件可以重新表示为
这个问题可以通过将左边方程式乘以矩阵R来随机变换得到下面的问 题:
隐私保护的超高等级
通过只将子问题发送到私有和受信任的计算机,可以实现超高级别的 隐私保护。显然,本发明可以在这种专用环境中用于分布式计算。大多数 公司很少出现优化问题,一年可能出现几次而已。对于他们来说,购买计 算机集群可能是相当昂贵的,但是在当前的发明中,他们能够在一年的剩 余时间里出售计算能力,从而降低成本。
计算能力电子市场的实现
任何数学程序的求解都需要大量的计算资源,因此为了保证网络用户 之间资源的公平使用,本发明提出了一种机制。
电子市场(e-market)的定义可以使计算资源通过两个P2P用户以及电 子代币(e-tokens)进行的交易进行交付。在这种环境中,一个P2P用户可 以从另一个用户或可信第三方(TTP)获取电子代币。在前一种情况下, 用户可能需要将其计算机的计算资源授予另一个用户;而在后一种情况 下,用户可能需要从TTP购买电子代币。一旦获得了电子代币,用户可以 使用电子代币向其他人请求计算资源来解决自己的优化问题,或者在TTP 兑现/偿还电子代币。
本发明的使用者之间的关系可分为两大类:朋友或商业伙伴。
朋友可以被定义为那些绝对信任彼此,不接受任何任务付款的人。属 于同一公司的计算机可以视为一组朋友,所以他们之间不需要进行核算和 方案验证。在这种情况下,效率可能是求解数学程序的主要目标。显然, 一组朋友可以有一个公共的缓存寄存器,并且他们可以作为一个单独的业 务实体对待其余的用户。
在这种情况下,使用P2P代替局部网格是有利的,因为它对任何P2P节 点的故障都具有鲁棒性,也因为在计算过程中,P2P处理节点很容易被关 闭。
另一方面,可以使用电子代币来解决业务合作伙伴的MIP问题(或分 支),因此可能会花费大量精力以牺牲效率来防止任何欺诈。换句话说, 不能信任匿名用户送回的MIP分支最佳解。在下一节中,我们将介绍一些 方法来保证最优性。这些方法在解决MIP时基于冗余,可以将同一个问题 实例发送给其他用户进行验证。除了计算结果不准确外,账单的正确性也 可能被过滤掉。
结果验证
可以使用随机验证来验证结果,其中相同的问题实例以预先定义的概 率发送给另一个用户,并比较返回的结果。根据用户过往历史,可定义一 个可信赖性度量标准,用于确定验证其结果的概率。可以将同一个问题实 例发送给任何其他用户(有关详细信息,请参见下一节),以便在用户完 成计算后进行验证,并可以比较结果。此类验证可检查以下两种不当行 为:
1、没有进行适当的计算;
2、报告较长(或较短)的计算时间(仅当激活账单时才需要)。
在第一种情况下,用户可能会受到降低信用值的惩罚,甚至有一段时 间会被排除在网络之外。在第二种情况下,用户的效率系数(描述其在 MIP求解中的性能的系数)可以降低到新的值。
子级的核实
验证没有任何子级的用户非常简单,只需向选择进行验证的用户发送 具有相同时间的完全相同的消息。这些消息可能包括原始问题公式和有关 全局信息的任何其他更新消息,例如新的解和剖切面。
父级的核实
验证一个父级比验证一个子级要困难得多,因为此类验证可能会进一 步传播一些子问题。为了验证父级,应该知道原始问题MIPorig(参见图4) 及其所有传播的子级MIPbranch问题。根据“消除MIP问题”一节中所述的方 法,可以在单个MIP问题中制定由父级解决的问题。图7显示了一个实例, 其中标记了由父节点求解的BB决策树的节点。最后,可以将MIPcomp发送 给所选的用户进行验证,同时使用相同的时间发送有关全局信息的其他更 新消息。
查找恶意用户的方法
如果本发明作为公共系统运行,则可能需要在父级和子级之间扩展包 含所有必要信息的消息,以便日后能够证明不当行为。每个发送的消息都 可以加盖时间戳并使用密码签名进行签名,而每个接收到的消息都可以使 用消息上的时间戳和密码签名进行确认。在TTP未批准作业补偿之前,父 级和子级可以存储这些消息。如果对不当行为有任何怀疑,则父级或子级 可以发送从可疑用户发送和接收的所有消息。在完成MIP问题的计算时发送的信息量可能是计算效率和发现恶意用户之间的折衷。在一个例子中, 整个分支定界树(带有解、时间戳和每个节点中的分支信息)可能会被发 送回去,这可能导致网络上无法接受的巨大流量负载。相反,可能需要将 有关子决策树分支的聚合信息以及分支决策树中路径的可选详细信息发送 到最佳解和每个重新传输的分支。每个分支上的聚合信息可以包含节点 数、叶数、不可行叶数以及最佳上下限。分支决策树信息可能取决于树的 深度,与输入的大小相比,深度可能是多项式。根据分支的信息,父级用 户可以大致验证成本和结果是否正确。
分支决策树的最大内存大小也可能被发回,这可能是将结果作为副本 发送给其他用户时的一个重要因素。
无论是由于TTP的决定(由于稳定的检查)还是父级用户的决定(对 恶意用户的怀疑),父级用户都可以向可信第三方(TTP)发送一个请求, 以验证其子级用户获得的结果。TTP可以随机选择一个具有合格内存单元 的子计算机来执行验证。TTP可能有关于全局值随时间戳变化的所有记 录,并且可以模拟消息,以便进行公平比较。最后,中央单元可以分析和 比较分支决策树信息,并在必要时增加相应的冗余系数,并更新错误结果 或超额计费的概率。最后,银行可以向母公司偿还该价格(另请参见图8 作为示例)。由于子级被TTP随机分配,可以排除任何限制,也可以更新子 级的效率系数。
网络体系结构
为了便于计算,可能需要一个中央单元,即管理每个用户(“银 行”)账户的TTP,并控制工作(“管控”)计费的正确性。
银行的主要目的可能是管理每个业务用户实体(可以是单个用户,也 可以是一组朋友)的帐户,进而管理他们拥有的电子代币的数量,并可用 于向其他用户请求计算。其可能需要软件的高安全性、高度认证和高度加 密单元。
管控目标可能是维护每个P2P用户统计数据的数据库,包括以下内 容:
效率系数可能代表用户过去在计算MIP问题时的性能。计算机性能可 能是计算速度(运行时间)和分支MIP效率的函数,以及其返回的MIPcomp大小增加(这取决于估计问题大小的效率)。因此,效率因素可能取决于 计算机的计算能力(如内存大小和CPU速度)、求解器的性能(可以来自 任何供应商)以及并行分布问题的效率。效率系数可以定义用户为解决 MIP分支而收到的电子代币数量,即处理时间乘以效率系数。
当计算机注册到网络时,计算机可能会立即接收到要解决的问题,并 且根据计算机性能注册为一个效率系数。用户可以请求更改效率系数,或 者根据TTP获得的统计数据进行更改。效率因素在定义每个已解决问题实 例的价格时可能具有关键作用。
服务因素可以定义如何信任用户。将同一个问题实例发送到其他计算 机所需的概率可能等于1-服务系数。这可能取决于用户过去发送非最佳解 而不是最佳解的频率,以及用户报告计算时间比实际时间长的频率,或者 用户在计算过程中断开连接而从未完成工作的频率。新注册用户的服务系 数可能在开始时为0,因为网络没有记录,用户可能不受信任。成功解决 问题实例后,服务系数可能会增加,但可能始终小于1。用户为解决MIP而收到的电子代币可能很大程度上取决于服务系数。
问题的寿命周期
当用户登录网络时,计算机可能会向TTP发送一条介绍性消息,并可 能收集尽可能多的相邻计算机。网络中的每台计算机可能处于以下状态之 一:
free_for_work,计算机可以解决任何MIP问题
calculate,计算机在MIP上工作(但没有任何子级)
parent_and_calculate,计算机处理MIP,还具有处理其分配的子问题的 子级
parent_only,只有当完成了问题的处理之后,计算机才有一些子问题 要处理
每台计算机的状态都可以传播给邻近计算机。SIP协议可用于发送消 息和维护用户状态,并可能主要用于P2P聊天客户端。同时,也可以使用 libjingle谷歌聊天客户端。
当用户开始一个新的优化问题时,可以首先解决根松弛问题。其次, 对隐私权保护问题进行必要的更改。经过预先定义的最短时间后,用户可 以邀请子计算机加入优化进程。在此期间,可以建议对BB决策树进行深度 搜索,在搜索结束时,用户可能对问题的最小大小有一些了解。
根据解决时间限制和问题大小的估计,用户可以决定邀请子问题,并 选择要发送的子问题(可能是最靠近根的活动节点)。要选择子问题,用 户可以使用TTP的统计记录。发送MIP时,消息还可能包含父级用户愿意 为最佳解支付的最高价格(表示为price_limit)。MIP问题实例可以通过聊 天客户端的文件传输项发送。
TTP可以通知并保证子级P2P计算机,父级P2P能够覆盖定义的最高价 格。在计算过程中,TTP可以随机决定结果是否应该由第二个子级用户验 证,是否作为稳定检查的一部分,并且可以将该决定通知父级用户。此验 证可能在子级用户完成计算后进行。
子级用户在计算时可能会受到电子代币最高限价的限制。如果子级用 户重新传输子分支,其也将成为父级用户,并且可能必须与新子级用户共 享价格限制电子代币。这样,电子代币可以在层次结构中分布,并且可能 需要一种机制来重新分配电子代币,以防子代币达到极限。
当子级用户从父级用户即时收到MIP问题时,以上双方可以协商计算 时间单位的价格,子级用户可以开始计算。计算时间的价格可能取决于子 级用户的统计记录。计算完成后,子级用户可能会返回结果以及在解决问 题上花费的处理时间。如果随机选择第二个子级用户来验证结果,则父级 用户可以将获得的结果转发给TTP。中央单元随后可以将验证结果通知父 级用户。此处可能存在另一种机制来终止恶意用户,而这种机制可能是在终止工作价格不公平或解可疑后由父级用户发起的。在这种情况下,父级 用户可以将结果转发给TTP。贷记给子级用户的电子代币数量可能是 service_factor*negotiated_price_of time_unit*time_spent_on_calucaltion。
以上所述的仅是本发明的一些实施方式。对于本领域的普通技术人员 来说,在不脱离本发明创造构思的前提下,还可以做出若干变形和改进, 这些都属于本发明的保护范围。

Claims (10)

1.一种基于点对点网络系统求解混合整数程序的方法,其特征在于:其包括以下步骤:
(1)将需要借助一台/批代理计算机才能解决的一个问题定义为一些子问题,该台/批代理计算机定义为第一个/批代理计算机,该批代理计算机中部分计算机与其他计算机建立了父级关系、或同时与另一台/批计算机建立了子级关系,其中,父级关系中的其他计算机称为父计算机,子级关系中的另一计算机称为子计算机;
(2)在每组代理计算机上安装分布式处理管理实用程序,为一个问题提供一套分布式解;
(3)借助在第一批代理计算机上运行的分布式处理管理实用程序,为解决此问题定义一个/批子决策树;
(4)以递归方式将每个子决策树分配给其中一台可以运行求解这一子决策树的代理计算机,并且可以通过运行分布式处理管理实用程序进一步定义将要再次分配给另外一台/批代理计算机的一个/批子决策树,从而按照要求,进一步解决或者定义新的子决策树。
其中,所述递归方式的步骤包括:
1)将每个子决策树的解反馈给获得对应子决策树的代理计算机;
2)在获得对应子决策树的代理计算机上聚合子决策树的解,给出该代理计算机得到的子决策树一个解;
其中每台代理计算机根据分布式解,与一台/批父计算机和一台/批子计算机通信;每台代理计算机均可执行一个子问题;
每台代理计算机均可以使用分布式处理管理实用工具来决定是否将子问题分配给其他子计算机,然后照此决定分配子问题;
在此,从这一问题中减掉已经求解的子决策树,同时将仍未经求解子决策树分离出来,但分离方式须包括通过求解相关子决策树获得的信息。
2.如权利要求1所述的基于点对点网络系统求解混合整数程序的方法,其特征在于:将代理计算机组织到一个层级中,其中每台代理计算机仅与有限数量的其他代理计算机保持通信,从而具备可扩展性。
3.如权利要求2所述的基于点对点网络系统求解混合整数程序的方法,其特征在于:包括通过将空转代理计算机与另一台向空转代理计算机分配子决策树的代理计算机合并起来,优化层级的步骤。
4.如权利要求2所述的基于点对点网络系统求解混合整数程序的方法,其特征在于:包括在第一台/批计算机上定义求解此问题的时限,然后基于定义的时限来调整负载均衡的步骤。
5.如权利要求1所述的基于点对点网络系统求解混合整数程序的方法,其特征在于:包含下一步跨网络监控和协调此问题的解的步骤,其中包括:根据此问题具有的一种或多种属性来进一步确定参与此问题求解进程的代理计算机最优数量;为此问题进一步定义一个部分或初始结果集合,将这些结果提供给一台/批代理计算机,然后根据收到的这些结果来修改此问题的解。
6.如权利要求5所述的基于点对点网络系统求解混合整数程序的方法,其特征在于:包括进一步定义一个最小时限的步骤;在此时限内,代理计算机必须先求解此问题,之后才可以向其他代理计算机分配子决策树。
7.如权利要求5所述的基于点对点网络系统求解混合整数程序的方法,其特征在于:包括进一步把与一台父计算机有关的的现有子决策树发送出去的步骤,而这一台代理计算机已将一份与此问题相关联的工作发送给其他一台或者多台子计算机;同时,将这一子决策树提供给另一台代理计算机,从而防止出现父计算机未连接到网络时,子计算机丢失计算结果的情况。
8.如权利要求5所述的基于点对点网络系统求解混合整数程序的方法,其特征在于:包括发送一个与父计算机相关联的现有子决策树,并且将这一子决策树提供给另一台向父计算机发送一个或者多个问题元素的代理计算机,以此从层级中删除已经处理完一个/批问题元素的父计算机。
9.如权利要求1所述的基于点对点网络系统求解混合整数程序的方法,其特征在于:所述问题是一个混合整数规划问题,且包含整数值元素。
10.如权利要求9所述的基于点对点网络系统求解混合整数程序的方法,其特征在于:包括求出的最佳整数解与松弛代价之间的差值,为其定义一个差距阈值的下一步骤;如果差距阈值小于预先定义的阈值,则要在代理计算机上求解代理计算机生成的子决策树,不再将这一子决策树发送给其他代理计算机。
CN201910283251.8A 2019-04-10 2019-04-10 一种基于点对点网络系统求解混合整数程序的方法 Withdrawn CN110321218A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910283251.8A CN110321218A (zh) 2019-04-10 2019-04-10 一种基于点对点网络系统求解混合整数程序的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910283251.8A CN110321218A (zh) 2019-04-10 2019-04-10 一种基于点对点网络系统求解混合整数程序的方法

Publications (1)

Publication Number Publication Date
CN110321218A true CN110321218A (zh) 2019-10-11

Family

ID=68112886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910283251.8A Withdrawn CN110321218A (zh) 2019-04-10 2019-04-10 一种基于点对点网络系统求解混合整数程序的方法

Country Status (1)

Country Link
CN (1) CN110321218A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487740A (zh) * 2020-12-23 2021-03-12 国微集团(深圳)有限公司 一种布尔可满足性问题求解方法及系统
CN116050669A (zh) * 2023-03-28 2023-05-02 中铁第四勘察设计院集团有限公司 一种城市轨道交通突发事件智能调度方法和系统

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527590B2 (en) * 2008-01-16 2013-09-03 Janos Tapolcai Solving mixed integer programs with peer-to-peer applications

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8527590B2 (en) * 2008-01-16 2013-09-03 Janos Tapolcai Solving mixed integer programs with peer-to-peer applications

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112487740A (zh) * 2020-12-23 2021-03-12 国微集团(深圳)有限公司 一种布尔可满足性问题求解方法及系统
CN116050669A (zh) * 2023-03-28 2023-05-02 中铁第四勘察设计院集团有限公司 一种城市轨道交通突发事件智能调度方法和系统

Similar Documents

Publication Publication Date Title
Beniiche A study of blockchain oracles
Bouraga A taxonomy of blockchain consensus protocols: A survey and classification framework
Sanka et al. A systematic review of blockchain scalability: Issues, solutions, analysis and future research
Kaur et al. Scalability in blockchain: Challenges and solutions
Shrestha et al. A blockchain platform for user data sharing ensuring user control and incentives
Baird et al. Hedera: A public hashgraph network & governing council
Kaur et al. Blockchain: A path to the future
De Pedro et al. Witnet: A decentralized oracle network protocol
WO2020139827A1 (en) System and method for providing a graph protocol for forming a decentralized and distributed graph database
Filatovas et al. A MCDM-based framework for blockchain consensus protocol selection
CN111951108A (zh) 一种具有图灵完备智能合约区块链的链结构设计方法
Orda et al. Enforcing fairness in blockchain transaction ordering
Yang et al. Research and analysis of blockchain data
Kim et al. Online risk analytics on the cloud
Bruschi et al. Tunneling trust into the blockchain: A merkle based proof system for structured documents
Song et al. EOS. IO blockchain data analysis
CN110321218A (zh) 一种基于点对点网络系统求解混合整数程序的方法
Hussein et al. Evolution of blockchain consensus algorithms: a review on the latest milestones of blockchain consensus algorithms
Yi et al. Research on a suitable blockchain for IoT platform
Gaikwad Overview of blockchain
US11334925B1 (en) Normalization and secure storage of asset valuation information
Kabiri et al. Blockchain and smart contracts
US20230198773A1 (en) Voting using choice coin on a blockchain
Thomason et al. Advancements in the New World of Web 3: A Look Toward the Decentralized Future: A Look Toward the Decentralized Future
Furtado et al. Towards characterising architecture and performance in blockchain: a survey

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 3 / F, office building 1, room 2, no.1299 Fuchunjiang Road, Kunshan Development Zone, Suzhou City, Jiangsu Province

Applicant after: Suzhou Zhuojin Communications Co.,Ltd.

Address before: 215000 East Side of No.2 Workshop of Yangshan Science Park, No.8 Jinyan Road, Suzhou High-tech Zone, Jiangsu Province

Applicant before: Suzhou Zhuojin Communications Co.,Ltd.

CB02 Change of applicant information
WW01 Invention patent application withdrawn after publication

Application publication date: 20191011

WW01 Invention patent application withdrawn after publication