專利名稱:用于查找最佳費(fèi)用的最優(yōu)化系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明一般涉及在線運(yùn)輸預(yù)定處理,特別涉及用來(lái)提供針對(duì)在線預(yù)定或者費(fèi)用查詢自動(dòng)確定最佳費(fèi)用的系統(tǒng)、設(shè)備和方法。
背景技術(shù):
通信網(wǎng)絡(luò)在計(jì)算機(jī)通信領(lǐng)域中為大家所熟知。根據(jù)定義,網(wǎng)絡(luò)是通過(guò)通信設(shè)施成者鏈路相連接的一組計(jì)算機(jī)和相關(guān)設(shè)備。網(wǎng)絡(luò)通信可以是永久的,例如通過(guò)電纜,或者可以是臨時(shí)的,例知由電話或者無(wú)線鏈路形成的連接。網(wǎng)絡(luò)可以大小不同,從包括少量計(jì)算機(jī)或者工作站和相關(guān)設(shè)備的局域網(wǎng)(“LAN”),到互連在地理上廣泛分布的計(jì)算機(jī)和局域網(wǎng)的廣域網(wǎng)(“WAN”),到通過(guò)臨時(shí)通信鏈路與遠(yuǎn)程計(jì)算機(jī)五連的遠(yuǎn)程存取服務(wù)(“RAS”,Remote Access Service) 0接下來(lái),互聯(lián)網(wǎng)絡(luò)(INTERNETWORK)是借助便于各種網(wǎng)絡(luò)的數(shù)據(jù)傳輸和轉(zhuǎn)換的網(wǎng)關(guān)或者路由器實(shí)現(xiàn)的多個(gè)相同或者不同的計(jì)算機(jī)網(wǎng)絡(luò)的聯(lián)合。術(shù)語(yǔ)互聯(lián)網(wǎng)絡(luò)的著名的縮寫是“internet”。根據(jù)當(dāng)前的理解,大寫字母開頭的術(shù)語(yǔ)“Internet”指的是這樣的網(wǎng)絡(luò)和路由器的集合,它們使用互聯(lián)網(wǎng)協(xié)議(“IP”)以及例如像傳輸控制協(xié)議/網(wǎng)際協(xié)議(“TCP/IP”)或者統(tǒng)一數(shù)據(jù)報(bào)包/網(wǎng)際協(xié)議(“UDP/IP”)這樣的高級(jí)協(xié)議,以便彼此通 目。借助其連接遍及整個(gè)世界的計(jì)算積的能力,因特網(wǎng)近來(lái)已經(jīng)迅速發(fā)展。隨著因特網(wǎng)的發(fā)展,萬(wàn)維網(wǎng)(“WWW”,或者“Web”)也已經(jīng)得到發(fā)展。萬(wàn)維網(wǎng)是互相連接的或者在遍布因特網(wǎng)的“網(wǎng)站”上電子服務(wù)的超文本標(biāo)記語(yǔ)言的超文本文件的大量集合。在很大程度上由于其簡(jiǎn)單性和其輸送多種格式信息的能力,萬(wàn)維網(wǎng)已經(jīng)迅速地成為傳播信息的流行方法。為了使得信息在萬(wàn)維網(wǎng)上可利用,用戶通常編輯由因特網(wǎng)服務(wù)提供高(“ISP”)張貼在網(wǎng)站上的一組網(wǎng)頁(yè)。網(wǎng)站位于與因特網(wǎng)連接的服務(wù)器上,服務(wù)器具有大量的存儲(chǔ)設(shè)備用于存儲(chǔ)也叫做網(wǎng)頁(yè)的超文本文件,并且運(yùn)行管理軟件用于處理對(duì)被存儲(chǔ)的超文本文件的請(qǐng)求。超文本文件通常包括大量超文本鏈接,也就是該文本中的突出顯示部分,用來(lái)將文件連接到可能存儲(chǔ)在因特網(wǎng)上任何地方的網(wǎng)站上的另一個(gè)超文本文件。每個(gè)超鏈接與一個(gè)統(tǒng)一資源定位符(“URL”)相關(guān)聯(lián),所述統(tǒng)一資源定位符提供鏈接文件在連接到因特網(wǎng)服務(wù)器上的服務(wù)器上的精確位置并且描述該文件.因此,無(wú)論何時(shí)從任意的萬(wàn)維網(wǎng)服務(wù)器檢出超文本文件的時(shí)候,就認(rèn)為是從萬(wàn)維網(wǎng)上檢出該文件.允許用戶從萬(wàn)維網(wǎng)上檢索超文本文件,也就是,允許用戶通過(guò)萬(wàn)維網(wǎng)瀏覽器在網(wǎng)上沖浪·萬(wàn)維網(wǎng)瀏覽器,例如 netscape Navifatorb. Microsoft intemerExpiorer 或者
phone, com的UP. Link微瀏覽器等,是由萬(wàn)維網(wǎng)客戶機(jī)也就是用戶的計(jì)算機(jī)、蜂窩式便攜無(wú)線電話或者其他客戶設(shè)備等執(zhí)行的軟件程序,以便于將圖形用戶界面(“GUI”)提供給萬(wàn)維網(wǎng).通過(guò)萬(wàn)維網(wǎng)瀏覽器接受到用戶的請(qǐng)求時(shí),萬(wàn)維網(wǎng)客戶機(jī)利用用于文件的URL和被稱為超文本傳輸協(xié)議(“HTTP”)的協(xié)議從適當(dāng)?shù)娜f(wàn)維網(wǎng)服務(wù)器上存取和檢索想要的超文本文件.HTTP是比TCP/IP更高級(jí)的協(xié)議,并且特別為萬(wàn)維網(wǎng)的需求所設(shè)計(jì).它被用在TCP/IP 的頂部以便于在服務(wù)器和客戶機(jī)之間傳輸超文本文件.隨著萬(wàn)維網(wǎng)的出現(xiàn),存儲(chǔ)在因特網(wǎng)上的信息本質(zhì)上通常是靜態(tài)的并且如果有人想要改變?cè)谌f(wàn)維網(wǎng)上提供的信息,必須通過(guò)重寫其HTML代碼來(lái)手動(dòng)配置網(wǎng)站.然而,在萬(wàn)維網(wǎng)當(dāng)前的發(fā)展階段,許多網(wǎng)站提供了依據(jù)在用戶的客戶設(shè)備上的萬(wàn)維網(wǎng)瀏覽器和網(wǎng)站之間用戶的交互作用來(lái)改變的動(dòng)態(tài)內(nèi)容.這些動(dòng)態(tài)超文本文件在技術(shù)上為大家所熟知并且可以用無(wú)數(shù)種不同的方法生成,例如通過(guò)利用由萬(wàn)維網(wǎng)服務(wù)器處理的公共網(wǎng)關(guān)接口( “CGI”) 腳本或者由萬(wàn)維網(wǎng)瀏覽器處理的正如JAVA Script這樣的本地腳本.本發(fā)明涉及基于網(wǎng)絡(luò)和基于因特網(wǎng)的旅行服務(wù),例如提供運(yùn)輸票的旅行服務(wù),包括通過(guò)因特網(wǎng)將機(jī)票、火車票、汽車票、渡船票等提供給旅客.對(duì)于這樣的服務(wù),利用通過(guò)因特網(wǎng)連接到旅行服務(wù)的計(jì)算機(jī),用戶可以從包括機(jī)票、火車票、汽車票、渡船票或者它們組合的動(dòng)態(tài)變化的產(chǎn)品目錄中購(gòu)買產(chǎn)品.通常,旅行服務(wù)與集中式計(jì)算機(jī)預(yù)訂系統(tǒng) (“CRS”)合作.CRS是與旅行代理運(yùn)輸提供者或者服務(wù)機(jī)構(gòu)通信的系統(tǒng)或者服務(wù)機(jī)構(gòu),目的是提供最新的運(yùn)費(fèi)(旅行或者包括旅行的線路組合的價(jià)格)、時(shí)間表(旅程或者航班的到達(dá)和離開的日期和時(shí)問(wèn)),規(guī)則(在什么樣的情況下什么樣的運(yùn)費(fèi)是有效的)和可用性 (以特定價(jià)格提供食宿的特定旅行或者航班的容量)來(lái)響應(yīng)查詢.這種信息由運(yùn)輸公司提供給CRS,通常是通過(guò)第三方;然而,旅行服務(wù)也能夠與其他數(shù)據(jù)庫(kù)合作,例如反映運(yùn)輸公司和旅行服務(wù)之間像折扣合同或者促銷項(xiàng)目這樣的具體關(guān)系的本地?cái)?shù)據(jù)庫(kù)。因此,基于因特網(wǎng)的服務(wù)能夠訪問(wèn)許多運(yùn)輸公司的產(chǎn)品目錄和價(jià)格資源。旅行服務(wù)的商業(yè)環(huán)境具有多種方式以不同的價(jià)格將相同或者類似的最終產(chǎn)品提供給消費(fèi)者.由于受運(yùn)輸公司驅(qū)動(dòng)的偏好的緣故,對(duì)類似的產(chǎn)品目錄定不同的價(jià)在成本方面可能是有效的.例如,在航空定票的情況中,當(dāng)考慮航空運(yùn)輸公司的數(shù)目、不同的旅行路線、樞紐位置和其他細(xì)節(jié)的時(shí)候,消費(fèi)者從點(diǎn)A旅行到點(diǎn)B的方式的數(shù)目是巨大的.為了這個(gè)原因,從點(diǎn)A到點(diǎn)B的特定類段的價(jià)格可能隨時(shí)間、航空運(yùn)輸公司等而顯著不同。此外, 組合價(jià)格變動(dòng)是價(jià)格敏感性,它能夠反映例如對(duì)于最接近離開時(shí)間的所預(yù)定票的需求的增加.此外,與各個(gè)運(yùn)輸公司商談的促銷和打折計(jì)劃可以進(jìn)一步影響由旅行服務(wù)提供的價(jià)格.另外,特定種類的產(chǎn)品目錄可以具有相關(guān)的高或者低的需求,或者高或者低的銷售數(shù)量。另外,還有許多消費(fèi)者驅(qū)動(dòng)的偏愛(ài)也能夠影響定價(jià).一些消費(fèi)者對(duì)產(chǎn)品目錄中給定項(xiàng)目各自的特性有不同的評(píng)價(jià).例如,在機(jī)票的情況中,一個(gè)消費(fèi)者可以不介意航班(從一個(gè)地方飛到下一個(gè)地方)什么時(shí)候起飛,而另一個(gè)消費(fèi)者可能在所有運(yùn)輸公司中更偏愛(ài)一個(gè)特定運(yùn)輸公司。當(dāng)消費(fèi)者指定他的偏愛(ài)時(shí),這些偏愛(ài)能被考慮到提供的航班中.由于這些原因及其他原因,存在著許多能夠影響相同或者類似的最終產(chǎn)品的價(jià)格的因素。而且,在常規(guī)的基于因特網(wǎng)的旅行服務(wù)中,消費(fèi)者輸入關(guān)于所需的提供者產(chǎn)品目錄的非常特定的信息,基于因特網(wǎng)的旅行服務(wù)查詢CRS,尋找符合物定查詢的產(chǎn)品目錄.CRS執(zhí)行其數(shù)據(jù)庫(kù)的搜索來(lái)查找該查詢的匹配,并且將結(jié)果集返回到基于因特網(wǎng)的旅行服務(wù)由消費(fèi)者瀏覽.然而,響應(yīng)查詢的傳統(tǒng)的CRS搜索是有限的。由存在著多種方法將相同的最終產(chǎn)品提供給消費(fèi)者這樣的事實(shí)產(chǎn)生了一個(gè)局限性。例如,當(dāng)考慮不同的提供者、旅行線路和其他細(xì)節(jié)的時(shí)候,從點(diǎn)A旅行到點(diǎn)B有數(shù)不清的方法。因此,由于經(jīng)濟(jì)原因,CRS通?;ㄙM(fèi)固定的時(shí)間量檢索它的數(shù)據(jù)庫(kù)來(lái)查找滿足該查詢的信息.因此,當(dāng)CRS將結(jié)果返回到旅行服務(wù)以響應(yīng)查詢的時(shí)候,CRS返回非常有限并且通常不是最優(yōu)化的結(jié)果用于特定的查詢,這僅僅是因?yàn)椴荒軌蛩阉骺赡艿漠a(chǎn)品目錄元素的每種排列或者組合。結(jié)果,在通過(guò)CRS返回的結(jié)果集合中沒(méi)有顯示符合查詢的一些產(chǎn)品目錄.因此,提供一種能夠更徹底的查詢而不用導(dǎo)致在CRS搜索時(shí)間和計(jì)算功率方面大幅度不可接受的增長(zhǎng)的服務(wù)是非常有益的。這種益處的提供能夠豐富消費(fèi)者的體驗(yàn),并且因此能夠吸引更多消費(fèi)者和回頭客.另外,只通過(guò)檢查經(jīng)過(guò)起點(diǎn)和終點(diǎn)之間的一小組中轉(zhuǎn)點(diǎn)的路線的費(fèi)用來(lái)搜索運(yùn)費(fèi)在技術(shù)中是大家所熟知的。然后,通過(guò)明確地列舉在起點(diǎn)、中轉(zhuǎn)點(diǎn)和終點(diǎn)之間路線的全部可能的組合,有可能找到最低費(fèi)用(時(shí)間和價(jià)格)的路線。然而,這種方法仍然很昂貴而且還不準(zhǔn)確和不靈活.當(dāng)新路線被運(yùn)輸公司排定或者取消時(shí),全部的預(yù)定中轉(zhuǎn)點(diǎn)集合需要重新計(jì)算.即使只提供了有限數(shù)目個(gè)中轉(zhuǎn)點(diǎn),明確地列舉即使有限組的路線/費(fèi)用的組合在計(jì)算方面也是令人卻步的.另外,如果只檢查有限數(shù)目個(gè)連接,如果最優(yōu)解經(jīng)過(guò)不在預(yù)定中轉(zhuǎn)點(diǎn)中的一個(gè)中轉(zhuǎn)點(diǎn),則有可能錯(cuò)過(guò)最優(yōu)解。對(duì)于熟悉本技術(shù)領(lǐng)域的人還知道其他探索式方法來(lái)不精確地確定從起點(diǎn)到終點(diǎn)的最佳費(fèi)用,然而,這些試探性方法仍然不是精確解,因?yàn)樵囂叫运惴ㄋ鼈儽旧砭褪遣痪_的。因此,需要一種在計(jì)算能力方面要求不是過(guò)高的來(lái)找到最佳費(fèi)用的方法,這種方式還是精確的并且不會(huì)忽略可能的路線/費(fèi)用組合,除非已經(jīng)知道它們不是最佳費(fèi)用。
發(fā)明內(nèi)容
本發(fā)明解決了以可接受的方式找到最佳費(fèi)用的問(wèn)題,此方式利用具有基于分支和約束的技術(shù)的查詢服務(wù)器來(lái)隱性列舉可能的旅行解決方案從而達(dá)到最佳費(fèi)用方案.在為旅行查找最佳費(fèi)用的一個(gè)舉例的方法中,確定一組用于旅行的部分費(fèi)用解, 將旅行信息添加到部分費(fèi)用解以便確定一組完全的費(fèi)用解,并且隨著旅行信息添加到部分費(fèi)用解,刪除是非最優(yōu)化部分解的部分費(fèi)用解,通過(guò)這樣來(lái)查找費(fèi)用。然后,返回上述完全費(fèi)用解的一個(gè)子集(或者是預(yù)定數(shù)目或者是完備集)作為旅行的最佳費(fèi)用。在一個(gè)舉例的實(shí)施方式中,增加旅行信息可以包括給解法樹中的根節(jié)點(diǎn)提供費(fèi)用查詢,將對(duì)應(yīng)于上述根節(jié)點(diǎn)的費(fèi)用分量指定到第一級(jí)節(jié)點(diǎn),指定用于費(fèi)用分量的運(yùn)輸公司到二級(jí)節(jié)點(diǎn),指定具有指定的運(yùn)輸公司的費(fèi)用分量的航班到三級(jí)節(jié)點(diǎn),將航班集合成可定價(jià)的單元分組到第四節(jié)點(diǎn),并且在葉節(jié)點(diǎn)中將費(fèi)用分配到可定價(jià)的(priceable)單元.可以用遞歸或者迭代的方式來(lái)增加旅行信息和刪除部分費(fèi)用解,只要至少隱含地檢查可能的解.實(shí)際上,可以從終點(diǎn)和起點(diǎn)向后或者向前執(zhí)行增加旅行信息和刪除部分費(fèi)用解以便于進(jìn)一步分解用于最佳費(fèi)用的搜索.在本發(fā)明的另一個(gè)舉例的實(shí)施方案中,根據(jù)任意的閾值費(fèi)用刪除部分費(fèi)用解,而在另一個(gè)方案中,根據(jù)精確的下界來(lái)刪除部分費(fèi)用解.在本發(fā)明的再一個(gè)實(shí)施例中,在優(yōu)先級(jí)隊(duì)列中存儲(chǔ)部分費(fèi)用解和完全費(fèi)用解。附圖簡(jiǎn)述
結(jié)合附圖,參考下列詳細(xì)的描述,本發(fā)明的上述方面以及許多伴隨的優(yōu)點(diǎn)將變得更容易理解,附圖中
圖1(現(xiàn)有技術(shù))是像因特網(wǎng)這樣的互聯(lián)網(wǎng)絡(luò)的典型部分的圖解;圖2是依據(jù)本發(fā)明的連接到互聯(lián)網(wǎng)絡(luò)的許多設(shè)備的示意圖,該互聯(lián)網(wǎng)絡(luò)響應(yīng)費(fèi)用查詢向連接到它的客戶設(shè)備提供最佳費(fèi)用;圖3是圖解說(shuō)明依據(jù)本發(fā)明用于優(yōu)化費(fèi)用記錄的如在圖2中所示的預(yù)處理服務(wù)器的幾個(gè)部件的方框圖;圖4是圖解說(shuō)明依據(jù)本發(fā)明響應(yīng)費(fèi)用查詢用于確定最硅費(fèi)用的如圖2中所示的查詢服務(wù)器的幾個(gè)部件的方框圖;圖5是圖解說(shuō)明由預(yù)處理服務(wù)器完成的用來(lái)優(yōu)化費(fèi)用記錄的預(yù)處理程序的概要流程圖;圖6是圖解說(shuō)明依據(jù)本發(fā)明由客戶設(shè)備、萬(wàn)維網(wǎng)服務(wù)器、旅行服務(wù)器、查詢服務(wù)器、文件服務(wù)器和計(jì)算機(jī)預(yù)訂系統(tǒng)響應(yīng)費(fèi)用查詢執(zhí)行的用于確定最佳費(fèi)用的操作的圖;圖7是圖解說(shuō)明依據(jù)本發(fā)明由查詢服務(wù)器完成的用來(lái)確定最佳費(fèi)用的最佳費(fèi)用搜索程序的概要流程圖;圖8是圖解說(shuō)明由查詢服務(wù)器完成的費(fèi)用限制點(diǎn)確定子程序的概要流程圖;圖9是圖解說(shuō)明由查詢服務(wù)器完成的運(yùn)輸公司分配子程序的概要流程圖;圖10是圖解說(shuō)明由查詢服務(wù)器完成的航班分配子程序的概要流程圖;圖11是圖解說(shuō)明由查詢服務(wù)器完成的定價(jià)單位確定子程序的概要流程圖;圖12是圖解說(shuō)明由查詢服務(wù)器完成的費(fèi)用分配子程序的概要流程圖;圖13A-C顯不線路和限制點(diǎn)圖來(lái)幫助理解如圖7_12中所不的流程圖;圖14(現(xiàn)有技術(shù))顯示完整的解法樹圖來(lái)幫助理解由當(dāng)前發(fā)明提供的益處;圖15顯示完整的解法樹圖來(lái)幫助理解由當(dāng)前發(fā)明提供的益處;圖16顯示用于接收來(lái)自消費(fèi)者的費(fèi)用查詢的網(wǎng)頁(yè)舉例;圖17A-C顯示用于將接收的對(duì)費(fèi)用查詢的響應(yīng)進(jìn)行顯示的網(wǎng)頁(yè)舉例.
具體實(shí)施例方式如先前所解釋,大寫字母開頭的術(shù)語(yǔ)“Internet”指的是使用網(wǎng)際協(xié)議(“IP”)來(lái)彼此通信的網(wǎng)絡(luò)和路由器的集合.因特網(wǎng)100的典型部分如在圖I(現(xiàn)有技術(shù))中所示,其中多個(gè)局域網(wǎng)120和廣域網(wǎng)130通過(guò)路由器110互相連接。路由器110通常是用于將一個(gè)局域網(wǎng)或者廣域網(wǎng)連接到另一個(gè)的專用計(jì)算機(jī)。在局域網(wǎng)內(nèi)的通信鏈路可以是雙絞線或者同軸電纜,而網(wǎng)絡(luò)之間的通信鏈路可以利用56Kbps的模擬電話線或者IMbps的數(shù)字T-I線和/或者45Mbps的T-3線.此外計(jì)算機(jī)和其他相關(guān)電子設(shè)備能夠通過(guò)調(diào)制解調(diào)器和臨時(shí)電話鏈路遠(yuǎn)程連接到局域網(wǎng)120或者廣域網(wǎng)130.這樣的計(jì)算機(jī)和電子設(shè)備140在圖I中表示為通過(guò)虛線連接到局域網(wǎng)120上。應(yīng)該理解因特網(wǎng)由大量的這種網(wǎng)絡(luò)、計(jì)算機(jī)和路由器互聯(lián)組成,如圖I中所示的只是因特網(wǎng)100的很小的典型的一部分.另一方面,萬(wàn)維網(wǎng)是位于通過(guò)因特網(wǎng)100連接的服務(wù)器上的互相連接的電子存儲(chǔ)的信息或者內(nèi)容的大量的集合.許多公司現(xiàn)在使用萬(wàn)維網(wǎng)通過(guò)因特網(wǎng)100提供服務(wù)和訪問(wèn)他們的內(nèi)容.例如,一些公司通過(guò)因特網(wǎng)100提供旅行服務(wù),使得消費(fèi)者能夠進(jìn)行運(yùn)輸和住
7宿的在線預(yù)定.依據(jù)本發(fā)明,提供一種最優(yōu)化系統(tǒng)和方法來(lái)確定最佳的可能費(fèi)用來(lái)響應(yīng)由考慮進(jìn)行在線預(yù)定或者購(gòu)買運(yùn)輸票的用戶進(jìn)行的費(fèi)用查詢.雖然為了討論本發(fā)明的目的在這里將航空運(yùn)輸公司和航班用作圖解說(shuō)明的實(shí)例,但是對(duì)于熟悉本技術(shù)領(lǐng)域一般技能的人來(lái)說(shuō),應(yīng)該理解本發(fā)明也同等地應(yīng)用于其他形式的運(yùn)輸,例如接受預(yù)定或者費(fèi)用查詢的鐵路、公路、水運(yùn)或者其他形式的運(yùn)輸。而且,本發(fā)明能被應(yīng)用于將旅行與例如旅館留宿或者車輛租用等相關(guān)產(chǎn)品相結(jié)合的定價(jià)產(chǎn)品;因?yàn)樵谶@個(gè)市場(chǎng)上從大量可能的組合中選擇低價(jià)產(chǎn)品是很重要的.而且,本發(fā)明也能夠應(yīng)用于非乘客的旅行,因?yàn)榘倪x定路線和遞送可以從最佳費(fèi)用搜索中獲益從而以最低成本來(lái)增加包裹的有效遞送.圖2圖解說(shuō)明響應(yīng)由客戶設(shè)備210的用戶進(jìn)行的查詢用于確定最佳費(fèi)用的系統(tǒng) 200的功能框圖。系統(tǒng)200通常運(yùn)行在包括在網(wǎng)絡(luò)上(例如因特網(wǎng)100)相互連接的個(gè)人計(jì)算機(jī)的分布式計(jì)算環(huán)境中。然而,熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,系統(tǒng)200能夠同樣可以作為單獨(dú)的一個(gè)計(jì)算機(jī)系統(tǒng)作用。在所描述的實(shí)施例中,預(yù)處理服務(wù)器300、文件服務(wù)器240和查詢服務(wù)器400在像因特網(wǎng)100這樣的互聯(lián)網(wǎng)絡(luò)或者內(nèi)聯(lián)網(wǎng)上與一個(gè)或者多個(gè)客戶設(shè)備210、萬(wàn)維網(wǎng)服務(wù)器220和旅行服務(wù)器230互相連接.預(yù)處理服務(wù)器300和查詢服務(wù)器400分別參考圖3和4將在下面進(jìn)一步描述.系統(tǒng)200還包括一個(gè)或者多個(gè)到CRS 250的連接,如上述所提到的,它是用于提供運(yùn)輸服務(wù)的最新費(fèi)用、時(shí)間表和可用信息的系統(tǒng)/服務(wù).熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,在舉例的系統(tǒng)200中可以使用更多或者更少的設(shè)備。例如,如果查詢服務(wù)器400直接從CRS 250接收信息的話,則文件服務(wù)器 240就不是必須的.還比如另一個(gè)實(shí)例,如果裝備查詢服務(wù)器400或者文件服務(wù)器240來(lái)局部地預(yù)處理費(fèi)用信息,則預(yù)處理服務(wù)器300可以不是必須的。圖3描述了預(yù)處理服務(wù)器300的一些關(guān)鍵組成部分.熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,預(yù)處理服務(wù)器300可以包括比在圖3中所示的處理器更多的組成部分。然而, 為了公開用于實(shí)行本發(fā)明的說(shuō)明性實(shí)施例,不需更全部顯示這些常規(guī)的組成部分.如圖3 中所示,預(yù)處理服務(wù)器300包括用于連接因特網(wǎng)100的網(wǎng)絡(luò)接口 330.熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,網(wǎng)絡(luò)接口 330包括用于這種連接的必要的電路,并且還被構(gòu)造成用于使用TCP/IP協(xié)議或者像因特網(wǎng)Inter-ORB協(xié)議(“ΙΙ0Ρ”)這樣的下一代協(xié)議。預(yù)處理服務(wù)器300還包括通過(guò)總線320連同網(wǎng)絡(luò)接口 330全部相互連接的處理裝置310,顯示器340和存儲(chǔ)器350.存儲(chǔ)器350 —般包括隨機(jī)存取存儲(chǔ)器(“RAM”)、只讀存儲(chǔ)器(“ROM”)和像磁盤驅(qū)動(dòng)器這樣的永久性大容量存儲(chǔ)設(shè)備。存儲(chǔ)器350存儲(chǔ)依據(jù)本發(fā)明使用費(fèi)用記錄最優(yōu)化例程500預(yù)處理費(fèi)用記錄所必需的程序代碼。另外,存儲(chǔ)器350還存儲(chǔ)被稱作費(fèi)用索引360的可選擇臨時(shí)費(fèi)用記錄和操作系統(tǒng)355。應(yīng)該理解,這些軟件組成部分可以使用與例如軟盤、磁帶或者DVD/CD-R0M這樣的計(jì)算機(jī)可讀介質(zhì)相關(guān)聯(lián)的驅(qū)動(dòng)機(jī)構(gòu)(沒(méi)有顯示)或者通過(guò)網(wǎng)絡(luò)接口 330從計(jì)算機(jī)可讀介質(zhì)中加載到預(yù)處理服務(wù)器300的存儲(chǔ)器350中·盡管舉例的預(yù)處理服務(wù)器300已經(jīng)被描述為通常是常規(guī)的通用計(jì)算設(shè)備,但是, 熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,預(yù)處理服務(wù)器300可以是能夠與因特網(wǎng)100或者查詢服務(wù)器400相通信的眾多設(shè)備中的任何一個(gè).圖4描述查詢服務(wù)器400的一些關(guān)鍵組成部分。熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,查詢服務(wù)器400包括比在圖4中所示的那些更多的組成部分.然而,為了公開用于實(shí)行本發(fā)明的說(shuō)明性實(shí)施例,不需要顯示全部這些常規(guī)的組成部分.如圖4中所示,查詢服務(wù)器400通過(guò)網(wǎng)絡(luò)接口 430被連接到因特網(wǎng)100。熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解, 網(wǎng)絡(luò)接口 430包括用于將查詢服務(wù)器400連接到因特網(wǎng)100所必須的電路,而且還被構(gòu)造成用于使用TCP/IP協(xié)議或者像IIOP這樣的下一代協(xié)議,將其包含在內(nèi)的操作環(huán)境的特定網(wǎng)絡(luò)配置和特定類型的耦合媒介。查詢服務(wù)器400還包括通過(guò)總線420連同網(wǎng)絡(luò)接口 430全部互相連接的處理裝置410、顯示器440和大容量存儲(chǔ)器450。存儲(chǔ)器450通常包括RAM、ROM和一個(gè)或者多個(gè)永久性大容量存儲(chǔ)設(shè)備,例如硬盤驅(qū)動(dòng)器、磁帶驅(qū)動(dòng)器、光驅(qū)動(dòng)器、硬盤驅(qū)動(dòng)器或者它們的組合.大容量存儲(chǔ)器450存儲(chǔ)為接收、處理、格式化和發(fā)送信息以及依據(jù)本發(fā)明將處理結(jié)果提供給發(fā)送器所必需的程序代碼和數(shù)據(jù)。更具體說(shuō),存儲(chǔ)器450存儲(chǔ)最小成本矩陣 (“MCM”) 465,它被用于以可更容易存取的矩陣格式來(lái)存儲(chǔ)在旅行點(diǎn)(起點(diǎn)和終點(diǎn))之間預(yù)先計(jì)算好的最小成本費(fèi)用以便于在給定起點(diǎn)和終點(diǎn)的情況下能在它們之間找到最小的旅行成本.另外,存儲(chǔ)器450存儲(chǔ)費(fèi)用、時(shí)間表和規(guī)則數(shù)據(jù)庫(kù)(“FSR”)470,優(yōu)先級(jí)隊(duì)列475 和操作系統(tǒng)455. FSR是如下面結(jié)合圖5所描述的已經(jīng)被預(yù)處理的優(yōu)化的費(fèi)用、時(shí)間表和規(guī)則記錄的集合。費(fèi)用記錄提供例如各種旅行的起點(diǎn)、終點(diǎn)、日期、時(shí)間和價(jià)格等詳細(xì)的旅行信息,但不局限于這些信息.規(guī)則記錄提供可能與特殊費(fèi)用相關(guān)聯(lián)的不同規(guī)則(比如費(fèi)用必須預(yù)先14天支付,如果旅行通過(guò)Denver (丹佛)則費(fèi)用不適用等)以便于更加具體地規(guī)定費(fèi)用何時(shí)有效和如何使用該費(fèi)用。時(shí)間表記錄是更一般的記錄,它規(guī)定由運(yùn)輸公司提供的定期旅行路線。另一方面,優(yōu)先級(jí)隊(duì)列475專用于存儲(chǔ)關(guān)于可能的最佳費(fèi)用的信息,使得從優(yōu)先級(jí)隊(duì)列475中刪除(出隊(duì))的下一條信息是最低成本項(xiàng)目.應(yīng)該理解,前述的軟件組成部分可以使用與像軟盤、磁帶或者DVD/CD-R0M驅(qū)動(dòng)器這樣的計(jì)算機(jī)可讀介質(zhì)相關(guān)聯(lián)的驅(qū)動(dòng)機(jī)構(gòu)(沒(méi)有顯示)或者通過(guò)網(wǎng)絡(luò)接口 430從計(jì)算機(jī)可讀介質(zhì)中加載到查詢服務(wù)器400的大容量存儲(chǔ)器450中.盡管舉例的查詢服務(wù)器300已經(jīng)被描述為通常是常規(guī)的通用計(jì)算設(shè)備,但是,熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,查詢服務(wù)器300可以是能夠通過(guò)因特網(wǎng)100通信的眾多設(shè)備中的任何一個(gè).如下面將詳細(xì)描述的,查詢服務(wù)器400定期接收來(lái)自預(yù)處理服務(wù)器300的最優(yōu)化費(fèi)用、時(shí)間表和規(guī)則記錄.然后查詢服務(wù)器400利用最優(yōu)化費(fèi)用、時(shí)間表和規(guī)則記錄來(lái)確定可用的最佳費(fèi)用從而響應(yīng)為了運(yùn)輸預(yù)定或者買票所進(jìn)行的查詢.用于優(yōu)化費(fèi)用、時(shí)間表和記錄規(guī)則的預(yù)處理例行程序500在圖5中詳細(xì)顯示.預(yù)處理例行程序500邏輯在方框 501中開始并且進(jìn)行到方框505,在那里從CRS 250或者文件服務(wù)器240接收原始費(fèi)用、時(shí)間表和規(guī)則記錄.原始費(fèi)用、時(shí)間表和規(guī)則記錄通常是由CRS 250以用于費(fèi)用和規(guī)則記錄的航空價(jià)目公布公司(“ATPCO,Airline Tarift Publishing Company”)格式和用于時(shí)間表記錄的標(biāo)準(zhǔn)時(shí)間表信息手冊(cè)(“SSIM, Standard Schedules Information Manual”)格式發(fā)送的,兩者都是基于文本的。通過(guò)使得記錄更有效地被處理來(lái)增強(qiáng)這些格式是很有用的.例如,在方框510中,分別檢查記錄并且從記錄中刪除任何不必要的信息或者字段.當(dāng) CRS 250將記錄提供給許多不同類型的服務(wù)器的時(shí)候,它可能在記錄中提供了對(duì)于確定最佳費(fèi)用所不需要的信息,例如飛行中膳食數(shù)據(jù)、費(fèi)用價(jià)格的來(lái)源,或者提供確定費(fèi)用所不需要的其他信息.在記錄被剝?nèi)チ瞬槐匾男畔⒑?,如在方?15中所示,在處理服務(wù)器300 中的費(fèi)用索引360中存儲(chǔ)中間記錄。然后在方框520中,例行程序500檢查被剝離過(guò)的中間記錄,尋找對(duì)存儲(chǔ)在費(fèi)用索引360中的任意其他中間記錄的鏈接引用.例如,在一個(gè)舉例的實(shí)施例中,從CRS 250接收的費(fèi)用記錄具有一個(gè)或者多個(gè)可以應(yīng)用于費(fèi)用的規(guī)則記錄的描述。在后面的處理中如果每個(gè)費(fèi)用記錄不必搜索包含著可以應(yīng)用于該費(fèi)用記錄的被描述的規(guī)則記錄,則這將是非??觳⑶腋行У?通過(guò)生成到被鏈接記錄的明確鏈接(指針、引用或者其他的對(duì)被鏈接記錄的位置的直接映射),在后面的處理中就沒(méi)必要搜索被鏈接的記錄。因此方框520找出并標(biāo)識(shí)這些關(guān)聯(lián)(鏈接),并通過(guò)更新費(fèi)用索引360指示他們是在哪里被發(fā)現(xiàn)的。重復(fù)方框510、515和520,直到從CRS 250接收的每個(gè)記錄都被處理并且在判定塊525中確定已經(jīng)達(dá)到最后記錄。因此,檢查、剝離每個(gè)從CRS 250接收的原始費(fèi)用記錄并且存儲(chǔ)其鏈接作為在費(fèi)用索引360中的中間記錄.在從CRS 250接收的全部原始費(fèi)用記錄如上所述被處理以后,在從費(fèi)用索引360 中檢索中間記錄的方框530中繼續(xù)優(yōu)化.然后,在方框535中,通過(guò)首先將已經(jīng)被識(shí)為具有鏈接的記錄鏈接到至少一個(gè)其他記錄,分別處理每一個(gè)中間記錄.然后存儲(chǔ)這些新鏈接的記錄作為中間記錄,形成進(jìn)一步優(yōu)化的具有到相關(guān)記錄的明確鏈接的費(fèi)用記錄。接著在方框540中,為當(dāng)前中間記錄預(yù)先計(jì)算一些值。例如,費(fèi)用記錄將增加一個(gè)它們所能鏈接的全部規(guī)則記錄的列表。這樣就消除去一些與費(fèi)用可能從不會(huì)與之鏈接的記錄相關(guān)的運(yùn)行時(shí)間的鏈接處理,另外,也預(yù)先計(jì)算好每個(gè)旅行方向的美元成本(也就是往返行程費(fèi)用的一半的費(fèi)用水平)以便使得單程和往返行程更直接地相比較。在方框540中預(yù)先計(jì)算好對(duì)應(yīng)于機(jī)場(chǎng)代碼的城市代碼(三字母縮寫或者“TLA,Three Letter Acronyms”)也是很有用的。然后方框545對(duì)記錄中的值進(jìn)行重編碼,以便將來(lái)更容易地處理該記錄.例如,日期記錄被重編碼為由始于某固定基期的天數(shù)而不是年月日格式(YYDDMM)來(lái)表示.這樣做是考慮到,作為整數(shù),而不是在其上進(jìn)行計(jì)算以前首先必須被轉(zhuǎn)換的字符串,日期更容易進(jìn)行比較。然后在方框550中該記錄被存儲(chǔ)為FSR 470中的一個(gè)優(yōu)化的費(fèi)用記錄,用于后來(lái)作為費(fèi)用記錄、 規(guī)則記錄或者時(shí)間表記錄被查詢.通過(guò)方框535、540、545和550重復(fù)這個(gè)處理,直到判定塊555確定已經(jīng)處理了來(lái)自費(fèi)用索引360的最后一個(gè)中間記錄。然后在方框560中,檢查存儲(chǔ)在FSR 470中的被優(yōu)化的費(fèi)用記錄,尋找在任意起點(diǎn)和終點(diǎn)之間最低的成本費(fèi)用.然后在MCM 465中存儲(chǔ)這些最低成本費(fèi)用,以供以后由查詢服務(wù)器400確定最佳費(fèi)用使用.然后在方框599中終止處理。預(yù)處理例行程序500當(dāng)有新費(fèi)用、規(guī)則和時(shí)間記錄可用時(shí)定期運(yùn)行。一般,可以通過(guò)文件服務(wù)器240從CRS 250中檢索費(fèi)用、規(guī)則和時(shí)間記錄,以便預(yù)處理服務(wù)器300更容易訪問(wèn).或者按預(yù)定時(shí)間間隔,或者在從文件服務(wù)器240或者CRS 250接收到一些新紀(jì)錄可用的指示以后,預(yù)處理服務(wù)器將從文件服務(wù)器240或者CRS 250檢索記錄并且運(yùn)行預(yù)處理例行程序500。一旦FSR 470包含了被優(yōu)化的記錄并且已經(jīng)建立了 MCM465,就有可能利用由查詢服務(wù)器400執(zhí)行的最佳費(fèi)用例行程序700(如圖6-12中所圖解說(shuō)明的)來(lái)查找最佳費(fèi)用。 查找最佳費(fèi)用的問(wèn)題是不容易進(jìn)行這種類型問(wèn)題的比較.為了保證給定的最佳費(fèi)用,必須將該費(fèi)用與全部其他可能的費(fèi)用解相比較.這樣做將明確地需要全部可能的替代解的全部列舉,這將使計(jì)算能力不能承受.因此,本發(fā)明隱性比較可能的費(fèi)用解和全部其他可能的解,導(dǎo)致只是部分列舉全部可能的替代方案,因此避免了 NP時(shí)間問(wèn)題.在現(xiàn)有的在線航班預(yù)訂系統(tǒng)中,如圖14中所示,使用顯性列舉可能的解來(lái)確定最佳的可用費(fèi)用.所有可能的解都組織在具有一個(gè)表示用戶的費(fèi)用查詢的根節(jié)點(diǎn)1405的解法樹1400中.然而,在這一點(diǎn),沒(méi)有其他的節(jié)點(diǎn)被增加到解法樹1400上.然后生成隨后的節(jié)點(diǎn)并且將其增加到表示“部分解”的解法樹1400上,在部分解中已經(jīng)增加了一些旅行信息(例如在本發(fā)明中所用的旅行信息類型限制點(diǎn)、運(yùn)輸公司、航班和費(fèi)用,或者描述飛行的任何其他信息),同時(shí)剩余的旅行信息還需被指定.一旦確定費(fèi)用所需的全部旅行信息已經(jīng)被指定,則解被認(rèn)為完成了。在樹的每一級(jí)上,新增一種類型的旅行信息增加到新的唯一部分解上來(lái)生成中間節(jié)點(diǎn),直到已經(jīng)增加了足夠的信息而形成完整的解(葉節(jié)點(diǎn)).例如,在第I級(jí),指定一個(gè)限制點(diǎn)1410(沿著行程的任意停止點(diǎn),用于計(jì)算費(fèi)用),限制點(diǎn)將費(fèi)用組成部分確定為兩個(gè)限制點(diǎn)之間的旅行段.在第2級(jí),指定運(yùn)輸公司1415給在限制點(diǎn)之間的費(fèi)用組成部分.然后,在第3級(jí),指定航班1400給已被指定運(yùn)輸公司的費(fèi)用組成部分.輪到第4級(jí),將航班分配到定價(jià)單位1425中。定價(jià)單位可以包括一組一個(gè)或者多個(gè)費(fèi)用組成部分,運(yùn)輸公司給該組指定單一價(jià)格.最后在第5級(jí),將費(fèi)用(包括稅和某些改變) 指定給定價(jià)單位.只有被稱作樹“葉”的最終節(jié)點(diǎn)(第5級(jí))表示“完整的”解1430,這也意味著已經(jīng)將全部旅行信息增加到解上。在如圖14中所示的小解法樹1400中,只有32個(gè)可能的葉節(jié)點(diǎn),顯性列舉全部解是不會(huì)使計(jì)算能力不堪負(fù)荷。然而,在具有多于600個(gè)機(jī)場(chǎng)(如果包括國(guó)際,是10000個(gè))、 多于40個(gè)運(yùn)輸公司的現(xiàn)實(shí)生活實(shí)例中,其中的每一個(gè)運(yùn)輸公司在任意兩個(gè)機(jī)場(chǎng)之間可能有多于一個(gè)的航班,多航班有多種定價(jià)單位組合,更不用提無(wú)數(shù)的規(guī)則、附加費(fèi)用和需要被考慮的其他因素,如果使用明確的列舉技術(shù),則部分解的數(shù)目迅速使計(jì)算能力不能承受。在理解本發(fā)明是如何在例如航空運(yùn)輸環(huán)境這樣的舉例的環(huán)境中只利用可能解的隱式列舉而不是顯性列舉就能夠找到最佳費(fèi)用的時(shí)候,理解用于描述和劃分可能的解的旅行信息是很有幫助的.圖13A表示從點(diǎn)A 1310的起點(diǎn)到點(diǎn)B 1330的終點(diǎn)的單程旅行.這個(gè)飛行的限制點(diǎn)(例如沿著路線的任意點(diǎn),包括起點(diǎn)和終點(diǎn)的)位于點(diǎn)A 1310、C 1320和 B 1330.點(diǎn)D 1315也許會(huì)感興趣,因?yàn)樗部赡苁菣C(jī)場(chǎng),但不被當(dāng)作用于確定運(yùn)輸公司、航班或者費(fèi)用的限制點(diǎn).它只是中途停留的點(diǎn).圖13A中的旅行行程由兩個(gè)費(fèi)用組成,在具確航班號(hào)“MA#100” 1335的在起點(diǎn)A和限制點(diǎn)C之間并在點(diǎn)D 1315中途停留的第一個(gè)航班;和在限制點(diǎn)C和終點(diǎn)B之間具有航班號(hào)“HA#200” 1340的第二個(gè)直飛航班.對(duì)于本發(fā)明,這次行程的成本由其間的航班費(fèi)用的總和加上從點(diǎn)A 1310到點(diǎn)B1330需要的實(shí)際時(shí)間組成.組合可以被加權(quán)以便使價(jià)格或者總旅行時(shí)間更為重要.熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,可以使用任意數(shù)目的加權(quán)或者排序方案來(lái)用價(jià)格和旅行時(shí)間(可能包括或者不包括停留時(shí)間)確定成本.還可以利用替代價(jià)格和旅行時(shí)間或附加于價(jià)格和旅行時(shí)間的其他信息.例如,還可以考慮運(yùn)輸公司的可靠性和/或者信譽(yù)。當(dāng)確定用于行程的費(fèi)用的時(shí)候,通常要確定對(duì)費(fèi)用應(yīng)用什么類型的定價(jià)單位.大多數(shù)定價(jià)單位屬于三類范疇中的一個(gè)單程旅行、往返旅行或者開放式(open jaw)。圖13C 提供了用于圖解說(shuō)明所述區(qū)別的簡(jiǎn)單示例.從13J通過(guò)13K到13L并且返回到13J的行程能夠被組合成許多可能的定價(jià)單位組合.例如,在其最簡(jiǎn)單的形式中,它是一個(gè)從13J到 13L的往返旅行,其中在往返旅行的出境旅程中在13K中途停留.它還可以是一組三個(gè)單程行程,其中每一個(gè)費(fèi)用組成部分1380、1385和1390是單程定價(jià)單位。另一組是所謂的開放式(open jaw)飛行,其中出境旅程的起點(diǎn)和行程的任意隨后的旅程不需要是相同的(但也可以是相同的)·在一個(gè)這樣的示例中,費(fèi)用組成部分1380和1385可以是開放式定價(jià)單位的一部分,費(fèi)用組成部分1390將是單程定價(jià)單位.單程飛行能夠包括一個(gè)或者多個(gè)費(fèi)用組成部分.一般,往返飛行和開放式飛行比單程飛行便宜,因此當(dāng)設(shè)法減小旅行成本的時(shí)候?qū)w行組合為這些類型的定價(jià)單位是非常有益的。即使從如圖13C中圖解說(shuō)明的簡(jiǎn)單示例中,也能夠看出,使用許多限制點(diǎn)和只有三種類型的定價(jià)單位,將被增加到解法樹1400上的可能的排列也將很快使顯性列舉解變得不實(shí)際.本發(fā)明不顯性列舉例如解法樹1400這樣的解法樹中的每個(gè)節(jié)點(diǎn).相反的,在任意節(jié)點(diǎn)處,判斷有無(wú)子節(jié)點(diǎn)可能包含最佳解.這樣做的一種方式是通過(guò)閾值來(lái)實(shí)現(xiàn)的。如果部分解的成本已經(jīng)被確定為超過(guò)該閾值則具有該部分解的節(jié)點(diǎn)和其全部子節(jié)點(diǎn)在解法樹 1500中被推遲考慮。如果閾值被改變,則可能在以后的時(shí)間點(diǎn)重新訪問(wèn)該節(jié)點(diǎn),但最初并不考慮它.可以結(jié)合本發(fā)明的分支定界(branch-and-bound)技術(shù)來(lái)使用這個(gè)處理方法.依據(jù)本發(fā)明,利用分支定界技術(shù)通過(guò)解出由查詢產(chǎn)生的部分解序列來(lái)搜索最佳費(fèi)用。例如,生成第一級(jí)的新的部分解作為解法樹1500的節(jié)點(diǎn),使得部分解只受旅行必須通過(guò)哪些限制點(diǎn)所約束,這樣形成了能夠用較少的計(jì)算更容易解決的簡(jiǎn)單問(wèn)題.分支將程序分成兩個(gè)子問(wèn)題而定界計(jì)算用于每個(gè)子問(wèn)題的下界(當(dāng)前最佳情況)。如果用于子問(wèn)題的下界不好于閾值成本,則推遲整個(gè)子問(wèn)題(可能解)直到閾值增加(如果有的話).這里將分支定界處理作為一棵樹來(lái)討論,其中樹中的每個(gè)節(jié)點(diǎn)表示一個(gè)子問(wèn)題(部分解)。最初, 用表示松弛問(wèn)題(relaxed problem)的單個(gè)根節(jié)點(diǎn)來(lái)初始化樹,在松弛問(wèn)題中樹的非根節(jié)點(diǎn)中的全部變量被松弛并且被根節(jié)點(diǎn)中的松弛變量所替代.在分支定界搜索的每個(gè)階段, 選擇一個(gè)活動(dòng)節(jié)點(diǎn)并且解決相關(guān)的松弛問(wèn)題.依靠這些解,進(jìn)行下列三個(gè)操作之一□延遲如果松弛問(wèn)題具有比當(dāng)前最佳可行目標(biāo)值更差的解,則延遲處理該節(jié)點(diǎn)·□改進(jìn)如果解是這樣的以至于對(duì)于每個(gè)節(jié)點(diǎn)其成本將低于先前的下界,則更新下界.□分支如果松弛解不完全并且如果它的估計(jì)值優(yōu)于當(dāng)前最佳可行解,則在一些節(jié)點(diǎn)上分支。能夠忽略被延遲節(jié)點(diǎn)以下的部分解直到閾值成本改變的原因是,在通過(guò)預(yù)處理服務(wù)器300優(yōu)化費(fèi)用、時(shí)間表和規(guī)則記錄的期間已經(jīng)確定了許多可行的解并且被放置在 MCM465中。如果在MCM465中的可行解是有效的并且比在該節(jié)點(diǎn)中的部分解有更低的成本(基于任何所用的成本標(biāo)準(zhǔn),例如,價(jià)格、時(shí)間等),則當(dāng)MCM465具有比來(lái)自那個(gè)節(jié)點(diǎn)的任意解更好的解的時(shí)候不用考慮那個(gè)節(jié)點(diǎn)或者其子節(jié)點(diǎn)。因此,這不是逼近最優(yōu)解的探試法.而是一個(gè)找到最優(yōu)解的精確的優(yōu)化過(guò)程。換句話說(shuō),在上述的描述中,目的是找到具有最小成本的一組解。依據(jù)本發(fā)明,如先前所述在預(yù)處理階段期間通過(guò)生成MCM 465首先找到可行解.利用MCM 465中的信息,樹上的任何不能得到比最佳的先前解更好的解的節(jié)點(diǎn)被安全地延遲處理.因此,接下來(lái)所需的是當(dāng)完成中間節(jié)點(diǎn)處部分解的時(shí)候計(jì)算費(fèi)用值“下界”的方式.下界的這一查找是一個(gè)重復(fù)(也許是迭代或者遞歸)過(guò)程,其中當(dāng)比較并且接收或者拒絕潛在提供最佳費(fèi)用的可能解的時(shí)候連續(xù)改進(jìn)下界.如果刪除了一個(gè)以前的最便宜的解(例如,是無(wú)效費(fèi)用,那天沒(méi)有可用的航班,或者因?yàn)闆](méi)有足夠的連接時(shí)間運(yùn)輸公司不將一個(gè)費(fèi)用組成部分與另一個(gè)費(fèi)用組成部分相結(jié)合),則下一個(gè)最便宜的費(fèi)用將變成下界。以這樣的方式能夠系統(tǒng)地忽略只提供更高費(fèi)用解的可能解,除非(直到)下界再次改變.如前述所討論的,部分解是解法樹1500中中間節(jié)點(diǎn)1510、1515、1520和1525(在第1-4級(jí))的另一個(gè)名稱.與沒(méi)有增加旅行信息的初始部分解(根節(jié)點(diǎn))1505相比較,在解法樹1500的第5級(jí)中找到的完全解(葉節(jié)點(diǎn))1530具有包括費(fèi)用信息在內(nèi)的全部必須的旅行信息.在一個(gè)最佳費(fèi)用處理(結(jié)合圖6-12在下面更詳細(xì)地描述)的舉例操作中,依據(jù)隨機(jī)的閾值來(lái)劃分(如在圖15中分支節(jié)點(diǎn)中所能夠看到的)部分解(解法樹節(jié)點(diǎn)).在一個(gè)舉例的實(shí)施方式中閾值成本在$100和一小時(shí)開始,但是可以使用任何其他的數(shù)額,只要它與可能由MCM 465確定的預(yù)期旅行費(fèi)用有關(guān).利用MCM 465來(lái)評(píng)估每個(gè)部分解以便于確定它是否能夠可行地提供低于閾值成本的完全解.如果能,則增加其他信息(例如,劃分當(dāng)前節(jié)點(diǎn)并且在新的級(jí)別上增加節(jié)點(diǎn))并且依次評(píng)估那些新的部分解.如果不能,則不處理部分解(例如,在節(jié)點(diǎn)1590中被延遲),并且繼續(xù)處理直到找到足夠多的完全解或者處理超時(shí).如果沒(méi)有找到足夠多的完全解,還有時(shí)間,且有一些部分解未被評(píng)估,則增加閾值成本,用較高的閾值重新訪問(wèn)未評(píng)估的節(jié)點(diǎn).在一個(gè)舉例的實(shí)施方式中閾值成本增加到半個(gè)小時(shí)$50,但也可以使用任何其他的數(shù)額,只要它與可能由MCM465確定的預(yù)期的旅行費(fèi)用有關(guān).繼續(xù)這樣的方式直到已經(jīng)找到了足夠多的完全解(例如,足夠多的葉節(jié)點(diǎn),可以是任意預(yù)先指定的數(shù)目,圖17A-C的舉例的網(wǎng)頁(yè)提供了給出總共9個(gè)可能的完全解的兩組三條行程),解被取盡,或者處理時(shí)間超時(shí)。在該點(diǎn),將任意完全解(直到任意數(shù)目)提供給用戶 (最優(yōu)解通常首先出現(xiàn))。為了更好的圖解說(shuō)明查找最佳費(fèi)用的操作,圖6圖解說(shuō)明了一個(gè)通過(guò)用于查找最佳費(fèi)用的系統(tǒng)所完成的操作的示范性實(shí)施例。盡管下面使用航空運(yùn)輸來(lái)描述本發(fā)明的說(shuō)明性應(yīng)用,但是熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,本發(fā)明可以同等地應(yīng)用到其他形式的運(yùn)輸上.圖6的系統(tǒng)包括客戶設(shè)備210,萬(wàn)維網(wǎng)服務(wù)器220,旅行服務(wù)器230,查詢服務(wù)器 400和CRS 250。后面將參考圖7-13圖解說(shuō)明并且詳細(xì)描述各種設(shè)備的相互作用和由其完成的例行程序.回到圖6中,當(dāng)客戶設(shè)備210通過(guò)網(wǎng)頁(yè)1600(例如在圖16中圖解說(shuō)明的網(wǎng)頁(yè)1600)查詢用于一個(gè)特定旅行的費(fèi)用605的時(shí)候,由查詢服務(wù)器400啟動(dòng)最佳費(fèi)用處理.費(fèi)用查詢通過(guò)萬(wàn)維網(wǎng)服務(wù)器220和旅行服務(wù)器330到達(dá)查詢服務(wù)器400. —旦查詢服務(wù)器接收到費(fèi)用查詢,則查詢服務(wù)器400實(shí)質(zhì)上建立一個(gè)用于該查詢的解法樹1500(例如圖 15中所示)。更具體說(shuō),確定用于可能解的費(fèi)用限制點(diǎn)并且指定610給部分解.然后,查詢服務(wù)器400將可能的運(yùn)輸公司615指定給由限制點(diǎn)確定的費(fèi)用組成部分(費(fèi)用組成部分是兩個(gè)限制點(diǎn)之間的部分).接著,航班被指定620給已指定了運(yùn)輸公司的費(fèi)用組成部分.同時(shí),查詢服務(wù)器400還檢查來(lái)自CRS 250的航班可行性625. CRS 250以航班可行性數(shù)據(jù)630 作出響應(yīng),此后查詢服務(wù)器檢查重復(fù)的航班.這樣防止以更高的價(jià)格列出相同的行程然后查詢服務(wù)器400取已分配了航班的費(fèi)用組成部分并將它們組合為635定價(jià)單位.然后為這些定價(jià)單位指定費(fèi)用640及規(guī)則、稅和/或者附加費(fèi)用.然后刪除645任何重復(fù)的解(同樣的飛行,但是具有相同或更高的價(jià)格).然后審查剩余解來(lái)選擇最佳解650,將費(fèi)用通過(guò)
13旅行服務(wù)器230和萬(wàn)維網(wǎng)服務(wù)器220轉(zhuǎn)送到客戶設(shè)備210.在圖17A-C中圖解說(shuō)明了示范性費(fèi)用顯示網(wǎng)頁(yè)1710、1720和1730.下面結(jié)合圖7詳細(xì)描述在查詢服務(wù)器400上處理的細(xì)節(jié)·熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,圖6的組成部分可以被替換而實(shí)質(zhì)上不會(huì)影響本發(fā)明的操作.例如,查詢服務(wù)器400和旅行服務(wù)器230和/或萬(wàn)維網(wǎng)服務(wù)器220 可以同時(shí)存在于相同的計(jì)算設(shè)備上而不會(huì)損害本發(fā)明.如圖2、4和6中所圖解說(shuō)明的,本發(fā)明包括用于確定由客戶設(shè)備210要求的最佳費(fèi)用的查詢服務(wù)器400.在圖7中顯示了依據(jù)一個(gè)本發(fā)明的實(shí)際實(shí)施例圖解說(shuō)明通過(guò)查詢服務(wù)器400完成的最佳費(fèi)用例行程序700來(lái)確定最佳可用費(fèi)用的流程圖。最佳費(fèi)用例行程序700在方框701中開始并且進(jìn)行到接收費(fèi)用查詢的方框705。查詢能夠來(lái)自許多來(lái)源,例如第三方旅行服務(wù)器或者運(yùn)輸公司,但為了舉例的目的,本發(fā)明的一個(gè)實(shí)施例的查詢是從使用客戶設(shè)備210的消費(fèi)者轉(zhuǎn)送來(lái)的。接下來(lái)在子程序方框800中使用查詢中的信息(下面將結(jié)合圖8詳細(xì)的描述)來(lái)將費(fèi)用限制點(diǎn)增加到部分解中并且將低于閾值成本的部分解增加到存儲(chǔ)在優(yōu)先級(jí)隊(duì)列475中的解法樹1500上.邏輯繼續(xù)到子程序方框900 (下面將結(jié)合圖9詳細(xì)描述),其中如果它們形成低于閾值成本的部分解,則為在方框800中找到的限制點(diǎn)所確定的費(fèi)用組成部分指定運(yùn)輸公司.將這些運(yùn)輸公司指定增加到優(yōu)先級(jí)隊(duì)列475中的部分解上.一旦已經(jīng)指定了運(yùn)輸公司,則處理進(jìn)行到子程序方框1000(下面用圖10來(lái)詳細(xì)描述),其中將航班指定到已分配了運(yùn)輸公司且會(huì)形成低于閾值成本的部分解的費(fèi)用組成部分。這些航班指定更新了存儲(chǔ)在優(yōu)先級(jí)隊(duì)列475中的解法樹1500的部分解.接著,在子程序方框1100(結(jié)合圖11來(lái)詳細(xì)描述)中如果所得結(jié)果的部分解低于閾值成本,則將已指定了航班的費(fèi)用組成部分組合為定價(jià)單位.然后利用這些定價(jià)單位來(lái)更新優(yōu)先級(jí)隊(duì)列 475中的部分解.因此在子程序方框1200(下面將結(jié)合圖12來(lái)描述)中可以將費(fèi)用指定給在所得部分解將低于閾值成本的定價(jià)單位.還將用這些指定來(lái)更新在優(yōu)先級(jí)隊(duì)列475中的部分解.處理將進(jìn)行到在其中刪除具有相同旅行信息(費(fèi)用信息除外)的部分解的方框 710.提供相同行程但是具有相同或者更高費(fèi)用的費(fèi)用數(shù)據(jù)是不必要的.然后在判定塊715 中判斷是否已經(jīng)到達(dá)結(jié)束情況(例如,一組預(yù)定的完全解、已窮舉全部可能性或者處理已經(jīng)超出預(yù)定的時(shí)間限制).如果在判定塊715中確定沒(méi)有達(dá)到結(jié)束情況,則處理進(jìn)行到在其中將閾值成本增加任意選擇的預(yù)定數(shù)量并且處理過(guò)程返回到子程序方框800的方框725。 如果在判定塊715中確定已經(jīng)達(dá)到了結(jié)束情況,則處理過(guò)程進(jìn)行到方框720,其中最低成本解(每一個(gè)都包括具有一個(gè)或者多個(gè)定價(jià)單位和相關(guān)費(fèi)用的完整的旅行描述)從優(yōu)先級(jí)隊(duì)列中出隊(duì)并且隨同用于最低成本解的旅行描述一起,通過(guò)檢索(和總計(jì))來(lái)自每個(gè)最低成本解的總費(fèi)用價(jià)格來(lái)生成對(duì)于費(fèi)用查詢的響應(yīng)。然后格式化最終的價(jià)格和旅行描述(例如在圖17A-C的網(wǎng)頁(yè)1710、1720和1730中)并且發(fā)送到請(qǐng)求設(shè)備。例行程序700在方框799
T 彡口 ·如上所述,在圖8-12中描述了許多子程序.每個(gè)子程序劃分并且增加更多的信息到可能解的解法樹1500上。在詳細(xì)討論子程序以前,分別考慮在圖14和15中圖解說(shuō)明的兩個(gè)解法樹1400和1500是有幫助的.在圖14中,隨著在每一級(jí)將每條附加的旅行信息增加在解法樹1400上,部分解的數(shù)目按指數(shù)規(guī)律增加.在這個(gè)現(xiàn)有技術(shù)實(shí)例中的每個(gè)附加層將先前的部分解劃分成兩個(gè)更多的部分解.然而,如將在下列子程序中所顯示的,通過(guò)在建立樹的時(shí)候延遲考慮節(jié)點(diǎn)的處理,生成了一個(gè)更易管理的解樹1500.只有低于某些成本的解才被考慮而具有太高成本的那些解在閾值成本增加前不考慮(亦即“推達(dá)”)進(jìn)一步處理.如圖15中所示,處理過(guò)程以表示費(fèi)用查詢的根節(jié)點(diǎn)1505開始.這里,沒(méi)有在解法樹1500的任何其他節(jié)點(diǎn)上增加詳細(xì)資料.在第I級(jí),將具有費(fèi)用限制點(diǎn)1510的部分解增加 (見(jiàn)圖8)到解法樹1500上,在舉例的解法樹1500中兩個(gè)限制點(diǎn)都有低于閾值成本的部分解.在第2級(jí),指定運(yùn)輸公司1515(見(jiàn)圖9),但是四個(gè)部分解中只有三個(gè)滿足閾值成本.接著,在第3級(jí),將航班指定1520到已指定了運(yùn)輸公司的費(fèi)用組成部分(見(jiàn)圖10),六個(gè)部分解中只有三個(gè)滿足閾值成本接下來(lái),在第4級(jí),將費(fèi)用組成部分指定給定價(jià)單位1525 (見(jiàn)圖 11),六個(gè)部分解中只有五個(gè)滿足閾值成本.最后在第5級(jí),將費(fèi)用(包括稅和一些改變) 指定到定價(jià)單位(見(jiàn)圖12),十個(gè)部分解中只有七個(gè)滿足閾值成本.只有第5級(jí)的節(jié)點(diǎn)表示一組完全解1530,所以不是如圖14中有三十二個(gè)可能解,只有十個(gè).從解法樹1500中選擇最低成本的完全解(葉節(jié)點(diǎn))是個(gè)簡(jiǎn)單得多的任務(wù)。在本發(fā)明的一個(gè)實(shí)施例中通過(guò)將完全解存儲(chǔ)在允許最低成本解最先出隊(duì)的優(yōu)先級(jí)隊(duì)列475中來(lái)幫助選擇。既然已經(jīng)提供了通過(guò)圖8-12和子程序800-1200建立延遲解法樹1500的一般概述,下面將詳細(xì)描述每個(gè)子程序800-1200和圖8-12.以圖8開始,子程序800在方框801開始并且進(jìn)行到方框805,其中從MCM465檢索新的限制點(diǎn)(數(shù)據(jù)中存在的任意機(jī)場(chǎng)可以被增加為限制點(diǎn))并且被增加到解法樹1500的第I級(jí)中新的唯一部分解上,使得新的部分解將不會(huì)超過(guò)閾值成本(在一個(gè)示范性實(shí)施例中,在調(diào)用例行程序中使用相同的閾值),限制點(diǎn)不與已經(jīng)存在于另一個(gè)部分解中的限制點(diǎn)重復(fù),一些運(yùn)輸公司公布自前一限制點(diǎn)的費(fèi)用,提供自前一限制點(diǎn)的運(yùn)輸.為了本發(fā)明的討論,將使用舉例的解法樹1500,然而,熟悉本技術(shù)領(lǐng)域一般技能的人應(yīng)該理解,由本發(fā)明的實(shí)際實(shí)施例使用的解法樹可以是相當(dāng)復(fù)雜并且有可能包括比圖15中圖解說(shuō)明的解法樹 1500更多的級(jí)和/或節(jié)點(diǎn).從優(yōu)先級(jí)隊(duì)列475檢索在其中要增加限制點(diǎn)的任意先前部分解。使用在預(yù)處理的MCM465中的成本來(lái)確定潛在的新的唯一部分解的成本以便于確定最小的可行費(fèi)用將是什么.更具體說(shuō),利用全部已知的旅行信息來(lái)計(jì)算部分解的成本,然后利用MCM 465來(lái)用最小成本的可行的旅行信息補(bǔ)足任何未知旅行信息.在方框805中這意味著只有用戶查詢和任意先前確定的限制點(diǎn)是已知旅行信息,所以MCM465將最小成本可行運(yùn)輸公司、航班、定價(jià)單位和費(fèi)用信息提供給新的唯一可能解.隨著將每條新的旅行信息增加到部分解上,部分解的成本將被細(xì)化,并且將有可能增加,因此如果增加的成本超出了閾值則不用考慮它.如果在判定塊810中沒(méi)有找到限制點(diǎn),則處理過(guò)程繼續(xù)到方框899,其中已經(jīng)增加了限制點(diǎn)的任何部分解將被返回到調(diào)用程序.否則,如果找到了限制點(diǎn),則在方框815中, 通過(guò)將限制點(diǎn)增加到在先前解中已存在的限制點(diǎn)上,甚至有可能增加終點(diǎn)作為最終限制點(diǎn)來(lái)生成新的唯一部分解,并將新的唯一限制點(diǎn)加到優(yōu)先級(jí)隊(duì)列475中。然后處理過(guò)程返回到方框805來(lái)搜索更多的可以增加限制點(diǎn)的部分解.利用子程序800來(lái)繁殖解法樹1500的第I級(jí)。子程序800的重復(fù)調(diào)用(如果可能)將提供可能解(也就是一級(jí)節(jié)點(diǎn)),然后將利用它來(lái)建立解法樹1500的下一級(jí)(也就是二級(jí)節(jié)點(diǎn)等).并不通過(guò)子程序800 —次建立全部的第I級(jí),相反的,通過(guò)迭代和遞歸重復(fù)調(diào)用子程序800并且逐一增加低于當(dāng)前閾值成本的可能解。然而,一旦已經(jīng)完成了子程序800,則有可能已經(jīng)增加了提供最佳費(fèi)用的部分解,這樣例行程序700將調(diào)用用于建立解法樹1500的第2級(jí)的下一個(gè)子程序900。在圖9中,通過(guò)增加從MCM 465檢索的運(yùn)輸公司信息來(lái)在下一級(jí)上繼續(xù)建立解法樹1500。子程序900在方框901處開始并且進(jìn)行到方框905,試圖也用MCM 465找到一個(gè)要添加到一個(gè)費(fèi)用組成部分上的、公布費(fèi)用并在該費(fèi)用組成部分上提供運(yùn)輸?shù)倪\(yùn)輸公司, 以形成不超過(guò)閾值成本的部分解(在一個(gè)示范性實(shí)施例中,在調(diào)用程序中使用相同的閾值).從優(yōu)先級(jí)隊(duì)列475中檢索已指定了限制點(diǎn)的部分解.利用預(yù)處理MCM 465中的成本確定潛在的新的唯一部分解的成本以便確定最小可行成本將是多少.更具體說(shuō),利用全部已知旅行信息計(jì)算新的部分解的成本,然后利用MCM465來(lái)用最小成本可行旅行信息補(bǔ)足未知旅行信息。在方框905中這意味著只有用戶查詢、限制點(diǎn)和先前指定的運(yùn)輸公司是已知旅行信息,所以MCM 465將最小成本可行航班、定價(jià)單位和費(fèi)用信息提供給新的唯一部分解。隨著每條新的旅行信息增加到部分解上,部分解的成本將被細(xì)化,并且將有可能增加, 因此如果增加的成本超過(guò)了閾值則不予以考慮.如果在方框905中沒(méi)有找到這樣的運(yùn)輸公司,處理過(guò)程繼續(xù)到方框999,其中向調(diào)用程序(在這個(gè)實(shí)例中,是最佳費(fèi)用例行程序700) 返回已經(jīng)增加了運(yùn)輸公司的任何部分解。否則,如果找到了運(yùn)輸公司,則在方框915中通過(guò)將運(yùn)輸公司增加到從先前解中檢索的費(fèi)用組成部分上來(lái)生成新的唯一部分解并且將該部分解增加到存儲(chǔ)在優(yōu)先級(jí)隊(duì)列475中的解法樹1500上.然后處理過(guò)程返回到方框905來(lái)搜索更多的可以增加運(yùn)輸公司的部分解.類似于子程序800,利用子程序900來(lái)繁殖解法樹1500的第2級(jí).子程序900的重復(fù)調(diào)用(如果可用)將運(yùn)輸公司提供給可能解(也就是二級(jí)節(jié)點(diǎn)),然后將利用可能解來(lái)建立解法樹1500的下一級(jí)(也就是三級(jí)節(jié)點(diǎn)等).子程序900被重復(fù)調(diào)用并且逐漸增加低于當(dāng)前閾值成本的解.然而,一旦已經(jīng)完成了子程序900,則有可能已經(jīng)增加了提供最佳費(fèi)用的部分解,然后例行程序700將調(diào)用用于建立解法樹1500的第3級(jí)的下一個(gè)子程序 1000.圖10繼續(xù)通過(guò)將航班增加到指定的運(yùn)輸公司上來(lái)建立解法樹1500.子程序1000 在方框1001處開始并且進(jìn)行到方框1005,其中試圖從FSR 470找到航班來(lái)增加到已被指定了運(yùn)輸公司的費(fèi)用組成部分上以便形成將不超過(guò)閾值成本的部分解(在一個(gè)示范性實(shí)施例中,在調(diào)用程序中使用相同的閾值)。方框1005利用MCM465和FSR 470的時(shí)間表記錄來(lái)確定哪個(gè)航班是最低成本的并且可以用于分配。從優(yōu)先級(jí)隊(duì)列475中檢索已指定了運(yùn)輸公司的部分解.利用預(yù)處理MCM 465中的成本來(lái)確定潛在的新的唯一部分解的成本以便確定最小可行成本是多少.更具體說(shuō),利用全部已知的旅行信息計(jì)算新的部分解的成本并且通過(guò)利用MCM 465來(lái)用最小成本可行旅行信息補(bǔ)足任意未知旅行信息.在方框1005中,這意味著只有用戶查詢、限制點(diǎn)、運(yùn)輸公司和先前指定的航班是已知旅行信息,所以MCM 465將最小成本可行定價(jià)單位和費(fèi)用信息提供給新的唯一部分解.隨著每條新的旅行信息增加到部分解上,部分解的成本將被細(xì)化,并且將有可能增加,因此如果增加的成本超過(guò)了閾值則不予以考慮.如果在方框1005中沒(méi)有找到航班,處理過(guò)程繼續(xù)到方框1099,其中,任何已經(jīng)增加了航班的部分解被返回到調(diào)用程序.否則,如果找到了航班,則在方框1015中通過(guò)將一個(gè)航班(從CRS 250中檢索)增加到已指定了運(yùn)輸公司的費(fèi)用組成部分上來(lái)生成新的唯一部分解并且將它增加到存儲(chǔ)在優(yōu)先級(jí)隊(duì)列475中的解法樹1500上.然后處理過(guò)程返回到方框1005來(lái)搜索更多的可以增加航班的部分解。類似于子程序800和900,利用子程序1000來(lái)繁殖解法樹1500的第3級(jí).子程序 1000的重復(fù)調(diào)用(如果可能)將航班提供到可能解(也就是3級(jí)節(jié)點(diǎn)),然后將利用它來(lái)建立解法樹1500的下一級(jí)(也就是4級(jí)節(jié)點(diǎn)等).子程序1000被重復(fù)調(diào)用并且逐漸增加低于當(dāng)前閾值成本的解.然而,一旦已經(jīng)完成了子程序1000,則有可能已經(jīng)增加了將提供最佳費(fèi)用的部分解,然后例行程序700將調(diào)用用于建立解法樹1500的第4級(jí)的下一個(gè)子程序 1100.圖11繼續(xù)通過(guò)將費(fèi)用組成部分組合成定價(jià)單位來(lái)建立解法樹1500.子程序1100 在方框1101處開始并且進(jìn)行到方框1105,其中試圖找到已經(jīng)指定了航班但是仍然沒(méi)有確定定價(jià)單位(從FSR 470中檢索)的不超過(guò)閾值成本的部分解(在一個(gè)示范性實(shí)施例中, 在調(diào)用程序中使用相同的閾值)。方框1105利用FSR 470來(lái)確定哪個(gè)定價(jià)單位可用于確定.從優(yōu)先級(jí)隊(duì)列475中檢索已指定了航班的部分解。利用預(yù)處理MCM465中的成本來(lái)確定潛在的新的唯一部分解的成本以便確定最小可行成本是多少.更具體說(shuō),利用全部已知的旅行信息計(jì)算新的部分解的成本并且通過(guò)利用MCM465來(lái)以最小成本可行旅行信息補(bǔ)足任意未知旅行信息。在方框1105中,這意味著用戶查詢、限制點(diǎn)、運(yùn)輸公司和航班是已知旅行信息,所以MCM 465將最小成本可行費(fèi)用信息提供給新的唯一部分解,而FSR 470將實(shí)際的定價(jià)單位信息提供給新的唯一部分解.隨著每條新的旅行信息增加到部分解上,部分解的成本將被細(xì)化,并且將有可能增加,因此如果增加的成本超過(guò)了閾值則不予以考慮.如果在方框1105中沒(méi)有找到尚需定義定價(jià)單位的低于閾值成本的部分解,則處理過(guò)程繼續(xù)到方框1199,其中,已經(jīng)確定了定價(jià)單位的部分解被返回到調(diào)用程序。否則,如果找到了滿足標(biāo)準(zhǔn)的部分解,則通過(guò)將費(fèi)用組成部分組合成部分解仍然低于閾值成本的定價(jià)單位的全部可能組合,來(lái)生成新的唯一部分解。然后增加這些新的部分解并且將其增加到優(yōu)選隊(duì)列 475中。然后處理過(guò)程返回到方框1105來(lái)搜索更多的仍然沒(méi)有確定定價(jià)單位的部分解。類似于子程序800、900和1000,利用子程序1100來(lái)繁殖解法樹1500的第4級(jí)。 子程序1100的重復(fù)調(diào)用(如果可能)將為可能解(也就是4級(jí)節(jié)點(diǎn))提供定價(jià)單位,然后將利用可能解來(lái)建立解法樹1500的下一級(jí)(也就是第5級(jí)節(jié)點(diǎn))。子程序1100被重復(fù)調(diào)用并且逐漸增加低于當(dāng)前閾值成本的可能解.然而,一旦已經(jīng)完成了子程序1100,則有可能已經(jīng)增加了將提供最佳費(fèi)用的部分解,所以例行程序700然后將調(diào)用用于建立解法樹 1500的第5級(jí)的下一個(gè)子程序1200.圖12通過(guò)將費(fèi)用指定到部分解上來(lái)將最終旅行信息增加到解法樹1500的符合條件的部分解上,由此生成完全解(解法樹1500中的葉節(jié)點(diǎn))。子程序1200在方框1201處開始并且進(jìn)行到方框1205,其中試圖找到要添加到已確定了定價(jià)單位并會(huì)形成不超過(guò)閾值成本的完全解的部分解上的費(fèi)用(在一個(gè)示范性實(shí)施例中,在調(diào)用程序中使用相同的閾值)。 方框1205利用MCM465和FSR 470來(lái)確定哪個(gè)費(fèi)用是最低成本并且可供指定。從優(yōu)先級(jí)隊(duì)列475中檢索已指定了定價(jià)單位的部分解。更具體說(shuō),利用全部已知的旅行信息計(jì)算新的部分解的成本并且通過(guò)利用MCM465和FSR 470來(lái)分別用定價(jià)單位的可行或者實(shí)際費(fèi)用補(bǔ)足任何未知旅行信息.在方框1205中,這意味著用戶查詢、限制點(diǎn)、運(yùn)輸公司、航班和定價(jià)單位是已知旅行信息,所以FSR 470將最小實(shí)際費(fèi)用信息提供給新的唯一部分解,但是如果不得不將全部費(fèi)用都指定給一個(gè)旅行,則MCM 465同樣將提供可行的費(fèi)用.隨著每條新的旅行信息增加到部分解上,部分解的成本將被細(xì)化,并且將有可能增加,因此如果增加的成本超過(guò)了閾值則不予以考慮.接著,判定塊確定是否找到了費(fèi)用。如果在判定塊1210中沒(méi)有找到費(fèi)用,則處理過(guò)程繼續(xù)到方框1299,其中,已經(jīng)添加了費(fèi)用的完全解被返回到調(diào)用程序。在這一點(diǎn),最佳費(fèi)用例行程序700必須確定是否已經(jīng)達(dá)到結(jié)束條件(足夠多的完全解,窮盡全部可能解或者超時(shí))。否則,如果在判定塊1210中找到了費(fèi)用,則通過(guò)在方框1215中增加還沒(méi)有為其指定費(fèi)用的費(fèi)用(從FSR 470中檢索)來(lái)生成新的部分解并且將其增加到優(yōu)先級(jí)隊(duì)列475 中.接著在方框1220中應(yīng)用從FSR 470中檢索的費(fèi)用規(guī)則來(lái)確定是否價(jià)格變動(dòng)需要應(yīng)用或者費(fèi)用是否是無(wú)效的。處理過(guò)程繼續(xù)到判定塊1225,其中判斷在方框1215中指定給新的部分解的費(fèi)用是否是無(wú)效費(fèi)用.如果在判定塊1225中已經(jīng)確定了新的部分解包含無(wú)效費(fèi)用,則放棄這個(gè)新的部分解并且從優(yōu)先級(jí)隊(duì)列475中刪除。然后處理過(guò)程返回到方框1205 來(lái)搜索更多的可以添加費(fèi)用的任何更多的部分解.如果在判定塊1225中已經(jīng)確定它不包含無(wú)效費(fèi)用,則處理返回到方框1205來(lái)搜索更多的可以添加費(fèi)用的部分解。類似于子程序800、900、1000和1100,利用子程序1200來(lái)繁殖解法樹1500的第 5級(jí)。然而,不像子程序800、900、1000和1100,子程序1200的重復(fù)調(diào)用(如果可能)將提供用于建立解法樹1500的最后級(jí)別的完全解。子程序1200被重復(fù)調(diào)用并且逐漸增加低于當(dāng)前閾值成本的完全解.一旦已經(jīng)完成了子程序1200,則可以確定在例行程序700中是否已經(jīng)滿足了結(jié)束條件.理想的是在例行程序700中將會(huì)確定已經(jīng)找到了足夠多的完全解, 在這樣的情況下不再需要調(diào)用子程序800、900、1000、1100或者1200,并且已經(jīng)找到最佳費(fèi)用(或者在很少有的情況下,由于超時(shí)而沒(méi)有找到費(fèi)用或者只有有限個(gè)費(fèi)用).從對(duì)圖7-12中子程序的上述討論中能夠看出,以相同的方式來(lái)處理每次旅行信息的增加。每個(gè)子程序生成新的部分解(在子程序1200的情況中生成完全解),隨著它們的生成,部分解被增加到優(yōu)先級(jí)隊(duì)列475中的解法樹1500上.通過(guò)在優(yōu)先級(jí)隊(duì)列475中放置這些解,當(dāng)后來(lái)為了作為包含的可能最低成本解而檢查它們的時(shí)候,首先只檢查最有可能的最佳費(fèi)用的候選解,因?yàn)閮?yōu)先級(jí)隊(duì)列475被設(shè)計(jì)成最低成本首先出隊(duì)的方式來(lái)提供可能解.此外,假設(shè)沒(méi)有中斷最佳費(fèi)用例行程序700,將不會(huì)從優(yōu)先級(jí)隊(duì)列中去掉部分解.具體說(shuō),如果嘗試了旅行信息的全部可能的組合,則全部節(jié)點(diǎn)將是完全解.另一方面,如果在判定塊715中找到了足夠數(shù)量的完全解,則通過(guò)從優(yōu)先級(jí)隊(duì)列中去除這些數(shù)目的完全解, 應(yīng)當(dāng)沒(méi)有被除去的部分解,因?yàn)橥耆獗仨氂懈统杀?已經(jīng)達(dá)到閾值,而部分解沒(méi)有), 并且有足夠數(shù)目的完全解。重要的是注意到最佳費(fèi)用例行程序700是本發(fā)明的一個(gè)可能的最佳費(fèi)用例行程序,在本發(fā)明的另一個(gè)示范性實(shí)施例中,可以向前或者向后考查解法樹中的可能解。圖 13B圖解說(shuō)明在旅行的假想的“中間” 1355兩側(cè)的一些“向前限制點(diǎn)” 13A-E和“向后限制點(diǎn)”13V-Z。在這個(gè)實(shí)施例中,通過(guò)考查來(lái)自起點(diǎn)(向前)的航班和來(lái)自終點(diǎn)(向后)的航班來(lái)建立解法樹1500,并且一旦確定了分別用于向前部分和向后部分的可能的部分解,則將其組合成部分解1360和1370。能夠在最佳費(fèi)用例行程序的每一級(jí)上應(yīng)用這樣的向前和向后劃分,使得當(dāng)劃分并且增加部分解的時(shí)候圖7-12將包括向前檢查和向后檢查.這種 “向前和向后”處理的一個(gè)好處是將查找解的問(wèn)題進(jìn)一步分解成了更小的問(wèn)題,以便于更加適合遞歸和/或并行處理.特別是,在本發(fā)明的一個(gè)實(shí)際實(shí)施例中,這樣的分解允許在個(gè)人計(jì)算機(jī)上而不是在更加昂貴的大型計(jì)算機(jī)上來(lái)運(yùn)行最佳費(fèi)用例行程序。盡管已經(jīng)圖解說(shuō)明和描述了本發(fā)明的優(yōu)選實(shí)施例,但是應(yīng)該理解,在其中能夠進(jìn)行各種改變而不會(huì)與本發(fā)明的精神和范圍相分離。
權(quán)利要求
1.在包括與數(shù)據(jù)庫(kù)通信的客戶計(jì)算機(jī)和查詢服務(wù)器計(jì)算機(jī)的通信網(wǎng)絡(luò)中,響應(yīng)從客戶計(jì)算機(jī)接收到的費(fèi)用查詢,由查詢服務(wù)器計(jì)算機(jī)執(zhí)行的用于為一次旅行查找至少一個(gè)最佳費(fèi)用的方法,該方法包括從數(shù)據(jù)庫(kù)檢索一個(gè)或者多個(gè)旅行的記錄;確定從數(shù)據(jù)庫(kù)檢索出的記錄中選擇的起點(diǎn)和終點(diǎn)之間的最低成本費(fèi)用;確定該旅行的一組部分費(fèi)用解;將旅行信息增加到部分費(fèi)用解上以便確定該旅行的一組完全費(fèi)用解;隨著將旅行信息添加到部分費(fèi)用解上,延遲非最佳部分解的部分費(fèi)用解,其中至少部分地使用所確定的最低成本費(fèi)用來(lái)確定非最佳部分費(fèi)用解;和返回所述完全費(fèi)用解的一個(gè)子集作為該旅行的最佳費(fèi)用。
2.權(quán)利要求I的方法,其中旅行信息的添加包括將費(fèi)用查詢提供給解法樹中的根節(jié)點(diǎn);將對(duì)應(yīng)于所述根節(jié)點(diǎn)的費(fèi)用組成部分指定給多個(gè)一級(jí)節(jié)點(diǎn);將對(duì)應(yīng)于所述一級(jí)節(jié)點(diǎn)的至少一個(gè)運(yùn)輸公司指定給多個(gè)二級(jí)節(jié)點(diǎn);將對(duì)應(yīng)于所述二級(jí)節(jié)點(diǎn)的至少一個(gè)航班指定給多個(gè)三級(jí)節(jié)點(diǎn);將對(duì)應(yīng)于上述三級(jí)節(jié)點(diǎn)的至少一個(gè)定價(jià)單位指定給多個(gè)四級(jí)節(jié)點(diǎn);和將對(duì)應(yīng)于上述四級(jí)節(jié)點(diǎn)的至少一個(gè)費(fèi)用指定給多個(gè)葉節(jié)點(diǎn)。
3.權(quán)利要求I的方法,其中上述完全費(fèi)用解的子集是預(yù)定數(shù)目的最低成本費(fèi)用解。
4.權(quán)利要求I的方法,其中上述完全費(fèi)用解的子集是上述完全費(fèi)用解的完備集。
5.權(quán)利要求I的方法,其中以遞歸的方式執(zhí)行旅行信息的添加和部分費(fèi)用解的延遲。
6.權(quán)利要求I的方法,其中以迭代的方式執(zhí)行旅行信息的添加和部分費(fèi)用解的延遲。
7.權(quán)利要求I的方法,其中根據(jù)閾值成本來(lái)延遲所述部分費(fèi)用解。
8.權(quán)利要求I的方法,其中根據(jù)細(xì)化的下界來(lái)延遲所述部分費(fèi)用解。
9.權(quán)利要求I的方法,其中所述部分費(fèi)用解被存儲(chǔ)在優(yōu)先級(jí)隊(duì)列中。
10.權(quán)利要求I的方法,其中從優(yōu)先級(jí)隊(duì)列中檢索所述部分費(fèi)用解。
11.權(quán)利要求I的方法,其中,作為分支定界最佳費(fèi)用搜索例行程序的一部分執(zhí)行旅行信息的添加和部分費(fèi)用解的延遲。
12.權(quán)利要求I的方法,其中從終點(diǎn)和起點(diǎn)向后和向前執(zhí)行旅行信息的添加和部分費(fèi)用解的延遲。
13.一種用于在通信網(wǎng)絡(luò)中響應(yīng)來(lái)自客戶設(shè)備的費(fèi)用查詢請(qǐng)求而為一次旅行查找至少一個(gè)最佳費(fèi)用的查詢服務(wù)器設(shè)備,該設(shè)備包括從數(shù)據(jù)庫(kù)檢索一個(gè)或者多個(gè)旅行的記錄的裝置;確定從數(shù)據(jù)庫(kù)檢索出的記錄中選擇的起點(diǎn)和終點(diǎn)之間的最低成本費(fèi)用的裝置;確定該旅行的一組部分費(fèi)用解的裝置;將旅行信息增加到部分費(fèi)用解以便確定該旅行的一組完全費(fèi)用解的裝置;隨著將旅行信息添加到部分費(fèi)用解,延遲作為非最佳部分解的部分費(fèi)用解,其中至少部分地使用所確定的最低成本費(fèi)用來(lái)確定非最佳部分費(fèi)用解的裝置;和返回所述完全費(fèi)用解的子集作為用于旅行的最佳費(fèi)用的裝置。
14.權(quán)利要求13的設(shè)備,其中旅行信息的添加的裝置包括將費(fèi)用查詢提供給解法樹中的根節(jié)點(diǎn)的裝置;將對(duì)應(yīng)于所述根節(jié)點(diǎn)的費(fèi)用組成部分指定給多個(gè)一級(jí)節(jié)點(diǎn)的裝置;將對(duì)應(yīng)于所述一級(jí)節(jié)點(diǎn)的至少一個(gè)運(yùn)輸公司指定給多個(gè)二級(jí)節(jié)點(diǎn)的裝置;將對(duì)應(yīng)于所述二級(jí)節(jié)點(diǎn)的至少一個(gè)航班指定給多個(gè)三級(jí)節(jié)點(diǎn)的裝置;將對(duì)應(yīng)于所述三級(jí)節(jié)點(diǎn)的至少一個(gè)定價(jià)單位指定給多個(gè)四級(jí)節(jié)點(diǎn)的裝置;和將對(duì)應(yīng)于所述四級(jí)節(jié)點(diǎn)的至少一個(gè)費(fèi)用指定給多個(gè)葉節(jié)點(diǎn)的裝置。
15.權(quán)利要求13的設(shè)備,其中所述完全費(fèi)用解的子集是預(yù)定數(shù)目的最低成本費(fèi)用解。的設(shè)備,其中所述完全費(fèi)用解的子集是最低成本費(fèi)用解的完備數(shù)。 的設(shè)備,其中進(jìn)一步包括以遞歸的方式執(zhí)行旅行信息的添加和部分費(fèi)
16.權(quán)利要求13
17.權(quán)利更求13 用解的延遲的裝置。
18.權(quán)利要求13 用解的延遲的裝置。
19.權(quán)利要求13的設(shè)備,其中進(jìn)一步包括以迭代的方式執(zhí)行旅行信息的添加和部分費(fèi)的設(shè)備,其中進(jìn)一步包括根據(jù)閾值成本來(lái)延遲所述部分費(fèi)用解的裝
20.權(quán)利要求13的設(shè)備,其中進(jìn)一步包括根據(jù)細(xì)化的下界來(lái)延遲所述部分費(fèi)用解的裝
21.權(quán)利要求13
22.權(quán)利要求13
23.權(quán)利要求13的設(shè)備,其中所述部分費(fèi)用解被存儲(chǔ)在優(yōu)先級(jí)隊(duì)列中。的設(shè)備,其中從優(yōu)先級(jí)隊(duì)列中檢索所述部分費(fèi)用解。的設(shè)備,其中,進(jìn)一步包括作為分支定界最佳費(fèi)用搜索例行程序的一部分,執(zhí)行旅行信息的添加和部分費(fèi)用解的延遲的裝置。
24.權(quán)利要求13的設(shè)備,其中進(jìn)一步包括從終點(diǎn)和起點(diǎn)向后和向前執(zhí)行旅行信息的添加和部分費(fèi)用解的延遲的裝置。
全文摘要
本發(fā)明提供一種方法、裝置和系統(tǒng),用于處理費(fèi)用查詢來(lái)找出最佳費(fèi)用。在本發(fā)明的一個(gè)實(shí)施例中,查詢服務(wù)器使用一種基于分支和定界的技術(shù)來(lái)隱性列舉可能的解以達(dá)到最佳費(fèi)用解。
文檔編號(hào)G06Q50/00GK102592179SQ201110368759
公開日2012年7月18日 申請(qǐng)日期2002年3月27日 優(yōu)先權(quán)日2001年4月2日
發(fā)明者阿瑟·F·錢伯瑙恩 申請(qǐng)人:艾克斯佩迪亞公司