ES2540553T3 - Procedimiento y sistema de construcción de tarifas de viaje reales, actuales - Google Patents

Procedimiento y sistema de construcción de tarifas de viaje reales, actuales Download PDF

Info

Publication number
ES2540553T3
ES2540553T3 ES11172973.7T ES11172973T ES2540553T3 ES 2540553 T3 ES2540553 T3 ES 2540553T3 ES 11172973 T ES11172973 T ES 11172973T ES 2540553 T3 ES2540553 T3 ES 2540553T3
Authority
ES
Spain
Prior art keywords
graph
edge
rate
stack
destination
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.)
Active
Application number
ES11172973.7T
Other languages
English (en)
Inventor
Marc Patoureaux
Thierry Dufresne
Gilles Chaumont
Cédric Dourthe
Thierry Blazka
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.)
Amadeus SAS
Original Assignee
Amadeus SAS
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 Amadeus SAS filed Critical Amadeus SAS
Application granted granted Critical
Publication of ES2540553T3 publication Critical patent/ES2540553T3/es
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • G06Q10/00Administration; Management
    • G06Q10/02Reservations, e.g. for tickets, services or events
    • 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
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/14Travel agencies
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • 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
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06312Adjustment or analysis of established resource schedule, e.g. resource or task levelling, or dynamic rescheduling

Landscapes

  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Ticket-Dispensing Machines (AREA)

Abstract

Un sistema para proporcionar una pluralidad de opciones de destino que comprende: - un componente (110, 210) de aprendizaje de tarifas conectable a al menos un sistema de reservas informatizado; - un par de estructuras (220, 230) de datos actualizables a partir del componente (110) de aprendizaje de tarifas, y almacenar una pluralidad de datos de viaje, comprendiendo los datos de viaje mencionados al menos un origen (221), un destino (225), un precio reservable y unas fechas reservables; comprendiendo el par de estructuras de datos, por un lado, una gráfica de nodos con nodos y aristas en los que los nodos son los destinos de viaje y en los que cada una de las aristas hace referencia a una tarifa de viaje más baja entre los dos nodos que conectan, y por otro lado, un árbol de tarifas construidas para cada arista de gráfica y que comprende una raíz que mantiene la tarifa del viaje más baja de la arista; - un motor (105) de comprador para aceptar al menos un origen (610) y un intervalo (630, 640) de fechas e interrogar a la estructura (220, 230) de datos para generar la pluralidad de opciones de destino correspondientes al origen (610) y a las fechas reservables dentro del intervalo (630, 640) de fechas; - un motor (200) de extracción de ruta de tarifa, configurado para extraer rutas de tarifa a partir del par de estructuras de datos con el fin de determinar las rutas de tarifa menos costosas, dicho motor de extracción de rutas de tarifa configurado para construir, para cada par de origen y destino, una pila mantenida organizada como un árbol binario y configurada para acumular un número (k) máximo predeterminado de rutas de tarifa menos costosas entre el origen y el destino durante la extracción.

Description

5
10
15
20
25
30
35
40
45
50
55 E11172973
23-06-2015
DESCRIPCIÓN
Procedimiento y sistema de construcción de tarifas de viaje reales, actuales
Campo de la invención
La presente invención se refiere, en general, a sistemas de planificación de viajes informatizados y se refiere más específicamente a un procedimiento y a un sistema que permiten extraer eficientemente las tarifas de viaje reales, actuales, de manera que pueden proponerse un gran número de oportunidades de reservas posibles a un cliente.
Antecedentes de la invención
La planificación de un viaje, especialmente un viaje aéreo, se hace en general en base a la selección de los aeropuertos de la ciudad de origen y de destino y del establecimiento de las fechas de salida y regreso. Este es el caso de cualquier planificación que se haga por una agencia de viajes o directamente por el cliente. En cuyo caso, este último solo tiene que acceder a cualquiera de los sitios web especializados, en los que muchos operadores turísticos y las compañías aéreas se han juntado en Internet para anunciar sus ofertas de viajes y estancias de vacaciones, en un intento de venderlos sin terceros involucrados. De hecho, la mayoría de las compañías aéreas ofrecen ahora la posibilidad de reservar y comprar un billete de avión desde su servidor web. En cuyo caso, el billete a menudo se “desmaterializa” ya que no se emite ningún billete real y el cliente solo tiene que mostrar en el mostrador de la aerolínea del aeropuerto un ID, por ejemplo, un pasaporte, para obtener su tarjeta de embarque.
Si bien es así de fácil reservar un viaje o unas vacaciones, el cliente no puede tener la certeza, sin embargo, de que haya obtenido la mejor oferta posible o la que mejor se ajuste a sus preferencias. Si la mayoría de la gente, si no toda, que viaja por negocios, se compromete a llegar y salir en fechas precisas que conoce, a menudo con mucha antelación, exactamente dónde y cuándo tienen que estar para sus citas profesionales, reuniones corporativas, conferencias o seminarios de todo tipo, lo cierto es que una buena parte de la clientela de las agencias de viajes no tienen esas limitaciones. De hecho, muchos de sus clientes ven como un inconveniente tener que establecer fechas precisas para sus viajes e incluso a veces no están seguros sobre el destino.
Como ejemplo de lo anterior, un cliente de un agente de viajes puede expresar su deseo de visitar la parte noreste del continente americano en otoño, es decir, durante el llamado veranillo de San Martín, que es famoso por el color cambiante de las hojas de los árboles o el follaje de otoño. Puede ser también interesante para un cliente llegar a Boston, Nueva Inglaterra, en Nueva York o incluso a Montreal, Quebec, siempre que el agente de viajes pueda conseguir una reserva a un precio interesante en un intervalo flexible de fechas que el cliente está dispuesto a aceptar.
Otros pueden incluso expresar requisitos más flexibles y les gustaría solo especificar un tema para sus destinos de viaje o de vacaciones. Los que gustan de, digamos, las civilizaciones antiguas puede que quieran considerar en su solicitud destinos tan diferentes como Egipto y sus pirámides, México y las civilizaciones precolombinas o los templos de Angkor, Camboya.
Si se han propuesto soluciones parciales para manejar este tipo de consultas, algunas se discuten más adelante en el presente documento; esto no es posible con los productos de software con los que están equipadas actualmente las agencias de viaje. Esto exige una gran flexibilidad en la especificación de las fechas y de los destinos que los productos actuales simplemente no soportan. En este punto debe quedar claro, que se entiende que el objetivo es reservar en realidad un viaje y no solo considerar las posibles oportunidades de viaje que pueden revelarse más tarde de no estar disponibles, por ejemplo, debido a que ya están completamente reservados para el período considerado, o porque se han cancelado.
Ya existen productos para ayudar a un cliente a tomar una decisión. Por ejemplo uno puede referirse a una solicitud de patente a la USPTO (Oficina de Patentes y Marcas de Estados Unidos), número de publicación US20020091535, que describe un procedimiento y un sistema para ayudar en la selección de un destino de vacaciones y donde no se ha especificado ningún destino en un primer lugar. Sin embargo, esto no proporciona ninguna forma de garantía de que las opciones de destino y de estancia realizadas por el cliente se puedan reservar en realidad.
Con el fin de que el cliente pueda reunir suficiente información sobre la disponibilidad real de vuelos para múltiples destinos, y en un cierto intervalo de fechas, será necesario emitir tantas consultas diferentes al sistema de reservas como destinos y días haya que considerar. Toda la información devuelta debe registrarse cuidadosamente para una comparación manual. A pesar de que algunos sistemas han introducido un cierto nivel de flexibilidad, especialmente, al proponer fechas cerradas automáticamente a las especificados en caso de no disponibilidad en el día específico solicitado, la búsqueda de la mejor solución es siempre consumidora de mucho tiempo, aburrida y requiere una gran cantidad de dedicación por parte del agente de viajes. Además, la habilidad de este último no puede ser tal que sea capaz de encontrar realmente todas las soluciones que son susceptibles de satisfacer una solicitud del cliente.
Una manera de fuerza bruta de moverse por estas dificultades sería la de precalcular todas las combinaciones de tarifas de orígenes y destinos. Debido al número de combinaciones, enumerar y almacenar todas las posibilidades necesitaría sin embargo de una enorme cantidad de recursos que no pueden implementarse de manera realista. En
10
15
20
25
30
35
40
45
50
55 E11172973
23-06-2015
efecto, si se tiene en cuenta solo el caso de las líneas aéreas, hay cerca de 3.600 ciudades en el mundo que tienen al menos un aeropuerto y los vuelos comerciales asociados. Doscientos operadores más o menos se hacen referencia en las bases de datos de reservas. Existen al menos diez tarifas por cada par de aeropuertos de origen y de destino. Además, pueden definirse diez tipos de pasajeros (niño, adulto, personas mayores, etc.) Por lo tanto, tendrían que grabarse billones de combinaciones. Si no es una tarea imposible esto no sería económicamente realista.
Sin ir tan lejos, se han propuesto sistemas, sin embargo, que tratan de calcular un gran número de combinaciones. Esto es, por ejemplo, lo que se describe en la patente de Estados Unidos 6.336.097 que enseña un procedimiento para construir un gran número de tarifas de viaje entre grupos de ciudades, orígenes y destinos. El procedimiento informático se basa en el uso de matrices de tarifas, algunas estructuras de datos multidimensionales y sofisticadas que exigen realizar una importante potencia de cálculo y los correspondientes recursos de memoria activos. Cuando en cientos de períodos pico, si no miles de usuarios remotos pueden querer acceder a un sistema de reservas de forma simultánea, el riesgo de agotar su capacidad de cómputo, hasta que se colapse, está llegando a ser alta a menos que se implementen unos recursos enormes y costosos que serán, en general, infrautilizados.
Objeto de la invención
Por lo tanto, un objeto general de la invención es acelerar la construcción actual de tarifas de viaje reservables, es decir, en ordenadores del estado de la técnica convencionales.
Es otro objeto de la invención permitir que puedan manejarse muchos destinos en el tiempo transcurrido de una única solicitud del usuario final.
Es otro objeto más de la invención permitir que el sistema de planificación de viajes ofrezca opciones de viaje temáticas a sus usuarios finales que no tienen un destino específico para elegir del que comenzar a planificar un viaje.
Es otro objeto más de la invención que las rutas de tarifa seleccionadas sean las menos costosas entre el conjunto de posibles rutas de tarifa.
Otros objetos, características y ventajas de la presente invención serán evidentes para los expertos en la materia tras el examen de la siguiente descripción en referencia a los dibujos adjuntos. Se pretende que cualquiera de las ventajas adicionales se incorpore en el presente documento.
Sumario de la invención
Se desvela la construcción de tarifas de viaje reales, actuales, en un ordenador, a partir de las bases de datos de tarifas. Se construye una primera estructura de datos que forma una gráfica en la que los nodos son destinos de viaje. Las aristas de la gráfica conectan pares de nodos. Cada arista hace referencia a una tarifa de viaje más baja. Se construye también una segunda estructura de datos, un árbol de tarifas, para cada arista de gráfica. Los arboles comprenden al menos un nodo raíz que mantiene la tarifa de viaje más baja de la arista de gráfica correspondiente. Se añaden posiblemente más nodos, en cuyo caso comprenden una clave de contexto y una tarifa de viaje asociada. En los árboles, un nodo hijo mantiene una tarifa de viaje igual a o mayor que la tarifa de viaje de su nodo padre. Las rutas de tarifa más económicas pueden extraerse de manera eficiente a partir de estas dos estructuras de datos desde las aristas de la gráfica, incluidas en las rutas de tarifa, que hacen referencia a los árboles asociados de las tarifas y se pasan a través, en orden ascendente, de los valores de tarifas más bajas. Una entidad de aprendizaje se hace cargo de la construcción y la actualización de los árboles de tarifas. Los datos para construir y actualizar los árboles proceden de los procedimientos de software destinados a la construcción de soluciones de viaje para los usuarios finales. Debido a que pueden manejarse muchos destinos en el tiempo transcurrido de una transacción de ordenador, un sistema de planificación de viajes que implementa el procedimiento de la invención puede proponer opciones de viaje temáticas a sus usuarios finales que no han elegido un destino específico para comenzar a planificar un viaje.
Breve descripción de los dibujos
La figura 1 representa el entorno en general y los componentes de la invención. La figura 2 ilustra el componente de aprendizaje de tarifas y las dos estructuras de datos necesarias para realizar la invención. La figura 3 trata más específicamente la implementación de la estructura de almacenamiento de datos, una gráfica de los nodos de destino, una de las estructuras de datos de la invención. La figura 4 describe la pila de rutas de tarifa; una estructura de datos temporal usada para extraer las rutas de tarifa y trata el procedimiento de extracción. La figura 5 describe además el procedimiento de extracción de las rutas de tarifa. La figura 6 muestra las ventanas de interfaz gráfica enviadas por un sistema de planificación de viajes haciendo uso de la invención y siendo capaz de proponer opciones de viaje temáticas a sus usuarios finales.
Descripción detallada
10
15
20
25
30
35
40
45
50
55 E11172973
23-06-2015
La siguiente descripción detallada de la invención se refiere a los dibujos adjuntos.
La figura 1 muestra los componentes de la invención (100) y el entorno en el que opera. El principal componente de la invención es el ‘componente (110) de aprendizaje de tarifas’ que se comunica con al menos un procedimiento denominado como ‘motor (105) de comprador de afinidad’ usado para construir soluciones de viaje para su usuario
(140) final. Hay tantos procedimientos activos de forma simultánea como consultas hay de los usuarios remotos. Estos últimos son más a menudo las agencias de viaje que tienen acceso a un sistema de reservas de viajes que realiza la invención. Puede ser también que los individuos autorizados hagan la reserva en línea a través de una red
(130) privada o pública como la Internet. Los procedimientos (105) son tareas de software que se ejecutan simultáneamente en un procesador bajo el control de un sistema operativo tal como ‘UNIX’ o ‘LINUX’ a menudo usados para hacer funcionar los servidores y ordenadores de los centros de datos que alojan, por ejemplo, los sistemas de reserva aérea. Los programas de software que permiten comunicarse con los usuarios remotos son los que en gran medida usan la red mundial, Internet, especialmente, es decir, su aplicación más popular, la Web. Por lo tanto, en el lado del cliente, se usa un navegador Web. El más usado se conoce bajo el nombre de ‘Internet Explorer (IE)’. Desarrollado por la bien conocida compañía estadounidense ‘Microsoft Corporation’ y que en realidad está incorporado en su sistema operativo ‘Windows’ usado en la mayoría de los ordenadores (150) personales. Hay otros navegadores Web en uso como ‘Netscape’ que se ha utilizado durante mucho tiempo, pero que ha perdido su preeminencia al final de los años 90. Nuevos navegadores web han adquirido cierta popularidad en los últimos años. Entre ellos, el que se conoce bajo el nombre de ‘Firefox’ que viene en el sistema operativo ‘LINUX’ mencionado anteriormente, procedente del mundo del software libre que significa que sus códigos fuente del programa están disponibles libremente para cualquiera.
La invención, que trabaja en las tarifas reales, actuales, asume que el componente (110) de aprendizaje de tarifas y los motores (105) de comprador de afinidad tienen acceso a las bases (120) de datos, especialmente, los de los operadores aéreos que proporcionan tarifas y disponibilidad de asientos en sus vuelos. Ha de observarse en el presente documento que la recuperación de una tarifa a partir de una base de datos del operador no puede hacerse sin la necesidad de algún procesamiento. De hecho, en general, las tarifas se proporcionan bajo la forma de una tarifa base más complementos y normas para construirlas. Además, hay descuentos proporcionados, por ejemplo, por el tipo de pasajero (niños, personas mayores).
Las bases de datos de tarifas y disponibilidad son, pues, una parte clave de los sistemas de reserva informatizados que se ponen a disposición de las agencias de viajes de todo el mundo por empresas especializadas en el desarrollo y la venta de productos de viaje. Este es el caso de una empresa como AMADEUS cuya sede y la mayoría de las oficinas están en Europa o la compañía estadounidense SABRE que tiene su sede en el estado de Texas.
Si bien las bases de datos y los componentes de la invención podrían realizarse en un mismo ordenador, sin embargo, se alojan más a menudo en diferentes ordenadores que deben ser capaces de comunicarse (115) usando protocolos e interfaces convencionales, tales como los que se ajustan a la OSI o arquitectura de ‘interconexión de sistemas abiertos’ que define siete capas de protocolos de comunicación que van desde la capa física a la capa de aplicación. En la práctica, se usa en gran medida el protocolo TCP/IP, es decir: el protocolo de control de transmisión sobre el protocolo de Internet.
Los ordenadores (160) que alojan los productos de software y las bases de datos necesarias para realizar la invención incluirán, en general, medios de almacenamiento externos así como internos. Especialmente, el contenido de las bases de datos se aloja más a menudo en unidades de disco (170) de gran tamaño.
La figura 2 es una descripción general del ‘componente de aprendizaje de tarifas’ de acuerdo con la invención como se muestra en la figura 1. Este componente está hecho en sí mismo de un ‘motor (200) de extracción de rutas de tarifa’ y de una ‘entidad (210) de aprendizaje’ que trabajan en las dos estructuras de datos.
Una de estas estructuras se conoce como la ‘estructura (220) de almacenaje de datos’. Es una estructura gráfica típica, cuyos nodos son los aeropuertos de ciudad en todo el mundo, en el presente documento designados por sus códigos IATA (Asociación internacional de transporte aéreo) de tres letras, por ejemplo, LON para Londres, UK (221). Las conexiones entre los nodos de la gráfica, por ejemplo: (226) son conexiones de tarifas existentes entre dos aeropuertos de ciudad. Obviamente, no existen todas las conexiones entre el conjunto de nodos de una gráfica, la gráfica, en general, no está completa, ya que no es probable que todos los pares de ciudades hayan publicado las tarifas entre ellos. Para cumplir con el vocabulario gráfico en uso, las conexiones entre los nodos (también llamados vértices) se denominan como aristas en la siguiente descripción de la invención. Una ruta en la gráfica (220) es por lo tanto una lista de nodos conectados por aristas. Como un ejemplo, hay una ruta entre Niza, Francia (225) y Londres, Reino Unido (221) a través de París, Francia (223) compuesta de dos aristas (222, 224). Vale la pena señalar en el presente documento que la implementación de una estructura gráfica puede realizarse de muchas maneras diferentes. En este caso, puede hacerse referencia a la literatura técnica sobre el tema, que es específicamente abundante. La invención no asume, en general, ninguna implementación específica y solo asume que puede construirse una estructura de datos de software que permite representar una gráfica tal como (220) de manera que pueden recuperarse los nodos y las aristas por el ‘motor (200) de extracción de rutas de tarifa’.
Sin embargo, hay un único requisito impuesto por la invención en la estructura gráfica que es que todas las aristas
10
15
20
25
30
35
40
45
50
55
60 E11172973
23-06-2015
de un nodo son legibles (o clasificadas) en orden ascendente de su valor asociado. Esto se trata además en el presente documento después, en cuanto a cómo se considere el valor de las aristas y en la figura 3.
La segunda estructura de datos, denominada como el ‘almacenamiento (230) de datos contextual’, es una estructura de árbol típica. Cada arista de gráfica, por ejemplo: (240) como una estructura de árbol asociado, por lo tanto, el almacenamiento de datos contextual es un conjunto de árboles contextuales. La raíz de un árbol contextual mantiene la tarifa más baja que puede encontrarse para la arista asociada, es decir, la posible conexión de vuelo más barata entre las ciudades que conecta. En este ejemplo, entre los nodos LON (221) y NCE (225), la tarifa más baja encontrada es un valor de 100 unidades (231) monetarias, en la moneda como se use por la base (218) de datos de tarifas. Sin embargo, el árbol mantiene en general más tarifas, cada una con un tipo de contexto asociado. El tipo de contexto es un criterio de refinación para obtener un valor de tarifa mínimo. Es, por ejemplo, el operador que opera el vuelo, por ejemplo, BA (232) que es sinónimo de British Airways, y para el cual la tarifa más baja es un valor sin embargo, de 150 unidades monetarias. Otro ejemplo de tipo de contexto es un intervalo de fechas, en este caso de junio a septiembre (234), durante el cual una tarifa específica es más costosa para este operador. El tipo de pasajero (no mostrado), es decir, adultos, niños, personas mayores, etc. puede tener sus propias tarifas asociadas definidas. Obviamente, son posibles muchos otros tipos de contexto tales como la clase de viaje o el tipo de asiento. Por lo tanto, cada árbol está organizado de manera que la tarifa más baja está en la raíz y a continuación, bajando por tipo de contexto, las tarifas cotizadas son iguales (236) o más costosas.
Este valor más bajo, el del nodo raíz, es el valor asociado de la arista de gráfica correspondiente usado para leer las aristas de un nodo en orden ascendente como ya se ha tratado anteriormente.
En cuanto a lo que se refiere a la implementación del árbol, la invención asume que un nodo debe mantener un valor de tarifas mínimo, por ejemplo: (2322) y tener una clave de contexto, por ejemplo: (2321). El nodo raíz mantiene el valor (231) de la tarifa más bajo y tiene una clave de contexto vacía. En la inicialización, el valor del nodo raíz, el único nodo del árbol en ese momento, se pone a 0. Este es un valor válido aceptado por el motor de extracción de rutas de tarifa como se trata más adelante en la descripción. Todos los hijos de un nodo comparten el mismo tipo de contexto. Dos o más hijos de un nodo tienen diferentes claves contextuales. Como ya se ha indicado anteriormente, el valor de un nodo hijo es mayor o igual al del nodo padre.
Además de los requisitos anteriores, como con la estructura gráfica, la invención no asume ninguna implementación específica para los árboles contextuales. Los árboles deben organizarse de manera que sea posible recuperar una clave de contexto empezando desde la raíz. La recuperación se detiene tan pronto como la clave de contexto buscada se pierde o no coincide cuando baja a través del árbol. Entonces, el valor devuelto es el de la última búsqueda exitosa. A modo de ejemplo, si se realiza una búsqueda de un tipo de contexto especificando AF (es decir, Air France) como el operador y una fecha de 1 de Diciembre, la búsqueda devolverá un valor de 100, el del nodo
(236) ya que la comparación de fechas para el nodo por debajo (238) no coincide con el intervalo de Marzo a Octubre. Además, los árboles contextuales deben permitir la inserción de valores actualizados. Consiste principalmente en una búsqueda por el árbol para el tipo de contexto. Una vez descubierto el tipo de contexto, el valor se actualiza. Si no lo encuentra, el nodo correspondiente debe crearse y el valor actualizarse.
Es el componente de entidad de aprendizaje (210) que está a cargo de la actualización de los árboles contextuales. Las actualizaciones se reciben desde los motores de comprador de afinidad cuando más información se recoge por estos procedimientos. Por lo tanto, los árboles se construyen y se actualizan de manera progresiva desde la inicialización con los datos solicitados actualmente por los usuarios finales a través de los motores (205) de comprador de afinidad. Esto permite mantener los árboles y tener sus tamaños dentro de límites manejables. La entidad de aprendizaje o debe insertar un nuevo valor contextual o sustituir un valor existente que es anticuado u obsoleto. También, cuando se actualiza la base de datos de tarifas, debe realizarse la invalidación (215) de los árboles contextuales con el fin de mantener los árboles actuales.
La figura 3 describe, además, la relación entre las dos estructuras de datos tratadas en la figura 2. La gráfica puede tomar por ejemplo, la forma de una matriz cuadrada (300) en la que las filas y las columnas son los aeropuertos de ciudad de manera que si hay un valor no válido (por ejemplo: el valor nulo) en un cruce de una fila y una columna no existe ninguna conexión vuelo directo en la gráfica entre los dos aeropuertos. Ya que la matriz de la figura 3 representa la gráfica ejemplar de la figura 2 y debido a que no hay ninguna arista en esta gráfica, por ejemplo, entre los nodos de NYC y MAD, entonces, se pone un valor nulo en el elemento (310) de matriz correspondiente. Además, se anula la diagonal, ya que no tiene sentido tener una conexión de tarifas a un mismo aeropuerto (320). Ya que la matriz es simétrica uno puede querer implementar solo el triángulo inferior debajo de la diagonal (330) para ahorrar espacio de almacenamiento, aunque esto puede ser un inconveniente por razones prácticas y de implementación. Debido a que la gráfica puede ser grande, en función del número de nodos a manejar, una implementación conveniente es tener una matriz de valores binarios 0 y 1. Obviamente, un 1 indica que hay una arista entre los nodos correspondientes y un 0 que no existe una conexión.
Cualquiera que sea la implementación de la gráfica, la invención asume que cada elemento de la matriz no nulo por ejemplo: (340) y su contrapartida simétrica (342), si existe, es tal que permite hacer referencia de forma inequívoca
(344) a la raíz (350) del árbol contextual asociado única de manera que el valor más bajo de la arista puede recuperarse rápidamente. Por lo tanto, en función de la implementación, puede ponerse el valor más bajo en el
10
15
20
25
30
35
40
45
50
55 E11172973
23-06-2015
elemento de matriz como se muestra (340) o solo hay un valor binario 1 y se encuentra el valor de arista actual más bajo a partir del nodo raíz referenciado. Hacer referencia entre un elemento de matriz y su árbol contextual puede estar implícito de manera que es una correspondencia única de uno a uno entre cada elemento de la matriz y cada árbol de la estructura de ‘almacenamiento de datos contextuales’ tratado en la figura 2.
Como ya se ha mencionado, y tratado con más detalle en la figura 4, la invención también asume que, desde cada nodo de la estructura gráfica, es posible obtener o leer todas las aristas existentes, que se originan a partir de ese nodo, en orden ascendente de su valor más bajo (la raíz del árbol). La invención no asume ningún procedimiento o medio específico para lograr este objetivo. A modo de ejemplo, puede leerse o construirse sobre la marcha una lista
(360) vinculada ordenada convencional cuando sea necesario.
Además, la forma en que la matriz gráfica se organiza realmente es una cuestión de elección de la implementación y no afecta al funcionamiento de la invención. Especialmente, los nodos no necesitan ordenarse de una manera específica a pesar de que se enumeran en el presente documento (300) por orden alfabético de sus códigos IATA de 3 letras.
Por último, la gráfica puede que no sea una matriz en absoluto y se ajuste todavía a los requisitos de invención. Una estructura bien conocida para implementar gráficas se denomina estructura de contigüidad. En esto, y en las gráficas y sus algoritmos, uno puede querer referirse a un libro de Robert Sedgewick, “Algorithms”, segunda edición, 1988, ISBN 0-201-06673-4, editor Addison-Wesley, y más específicamente en el capítulo 29 “Graph Algorithms”. Por lo tanto, una estructura gráfica alternativa ejemplar puede ser la mostrada en (370) en la que los nodos se enumeran con todas sus aristas conectando de manera que también puedan ordenarse por orden ascendente de su valor más bajo con el fin de ajustarse al requisito anterior para realizar la invención.
La figura 4 y la siguiente describen más específicamente el motor de extracción de rutas de tarifa y su algoritmo que devuelve una lista de rutas de tarifa más corta dado un origen, una lista de destinos y un tipo de contexto.
El algoritmo descrito se adapta para devolver solo rutas que abarcan un máximo de tres aristas o conexiones. A pesar de que sería posible en una gráfica grande extraer una tarifa de viaje menos costosa, o en general hacer una mejor oferta a un cliente combinando más de 3 vuelos, para todas las aplicaciones prácticas, proponer más de dos paradas a lo largo de un viaje no es probable que se acepte. Ya que el rendimiento de la búsqueda gráfica está condicionado en gran parte por el número de rutas a descubrir esto permite acelerar la búsqueda y evitar tener que calcular soluciones que se sabe que son inaceptables. Por lo tanto, en la gráfica, en la parte superior considerando la única arista (400) posible que puede existir entre un nodo de origen, por ejemplo, NCE (410) y un nodo de destino, por ejemplo, LON (420), el algoritmo descrito adicionalmente en la figura 5, construye solo rutas de tarifa que abarcan una parada (430) o dos paradas (440). La etapa de construcción de una nueva ruta de tarifa, en el algoritmo general de la figura 5, incluye por lo tanto las sub-etapas mostradas en (450). La primera etapa (452) es para obtener valores, a partir del árbol contextual tratado en la figura 2 y 3, para las aristas de los nodos de origen (410) y destino (420). Si las dos aristas seleccionadas tienen un mismo destino (454), entonces, puede construirse (458) una nueva de ruta de tarifa de longitud 2, es decir, que abarque dos aristas. En la gráfica, esto corresponde a una ruta que incluye las aristas (411) y (421) que tienen el mismo nodo MRS (430) de destino. Sin embargo, si las dos aristas seleccionadas no tienen el mismo destino (456) deben recuperarse los valores, a partir del árbol contextual, de los destinos del par de nodos de las dos aristas seleccionadas (460). A continuación, una nueva ruta de tarifa de longitud 3, que abarca tres aristas, puede construirse (462). En la gráfica, esto se corresponde con una ruta que incluye las aristas (422), (442) y (412) con dos nodos (440) PAR y LYS intermedios. Esto termina (464) la etapa de construcción de la nueva ruta de tarifa de longitudes 2 o 3 usadas por el algoritmo general de la figura 5.
Además, el algoritmo de extracción de acuerdo con la invención de la figura 5, necesita construir y administrar una estructura de datos temporal llamada una pila de rutas de tarifa (480). Una pila es una estructura de datos que más a menudo toma la forma de un árbol binario en el que la clave en un nodo (482) padre es más grande que las claves de sus dos nodos (484) hijo y así sucesivamente. Por lo tanto, la raíz (486) siempre mantiene el valor de la clave más grande. Una pila, o cola de prioridad, es una estructura de datos convencional conocida por los expertos en la materia de la programación informática y no necesita explicarse adicionalmente. Especialmente, insertar y eliminar son las operaciones bien conocidas definidas en una pila.
La figura 5 muestra las etapas del procedimiento para extraer rutas de tarifa de las estructuras de datos descritas anteriormente. El número de rutas de tarifa a devolver es decir: k, junto con un origen y una lista de destinos, es otro parámetro de entrada para realizar una búsqueda gráfica. Cuando las k rutas de tarifa se han acumulado en la pila tratada anteriormente y no se permiten combinaciones baratas de aristas para probar esto finaliza el procedimiento de búsqueda de manera que se devuelven (560) las k rutas de tarifa valoradas más bajas a la tarea llamante, es decir, al ‘motor de comprador de afinidad’ descrito anteriormente en la figura 1.
La extracción de rutas de tarifa comienza en la etapa (500), en la que la pila temporal se inicializa con una primera ruta de longitud 1 que corresponde a la conexión directa entre un nodo de origen y uno de destino. Solo hay una ruta de tarifa de longitud 1 en la pila. Es la raíz del árbol contextual correspondiente a menos que se haya asociado un tipo de contexto en cuyo caso se ha buscado el árbol contextual para recuperar el nodo que se ajusta al tipo de contexto correspondiente.
10
15
20
25
30
35
40
45
50
55 E11172973
23-06-2015
La siguiente etapa (505) se inicia a partir de la primera (la tarifa más baja) arista de gráfica que sale desde el nodo de origen. Como ya se ha mencionado las aristas de gráfica se ordenan o pueden leerse en orden ascendente de su valor de tarifa, de manera que puede elegirse la arista de tarifa más baja por el algoritmo.
Lo mismo se hace desde el nodo (510) de destino de manera que se seleccionan los parámetros Arista1 y Arista2 mencionados en la figura 4 y puede ejecutarse la etapa (515), que construye una nueva ruta de tarifa. Los detalles de esta etapa ya se han tratado con la figura 4, en la que se hace referencia (450), con las sub-etapas que van desde (452) a (464).
A continuación, la siguiente etapa (520) consiste en comprobar si se han añadido ya las k rutas de tarifa a la pila. Si se han acumulado más de k rutas de tarifa (521) se elimina la más costosa de la pila (525). Sin embargo, si menos de o exactamente k rutas están en la pila (522), el algoritmo de extracción procede directamente con la siguiente etapa (530) en la que se selecciona la siguiente arista que se aleja a su vez del nodo de destino. Una vez más, las aristas que se alejan de los nodos se ordenan o se leen en orden ascendente de su valor. Una vez hecho esto se realiza (540) una comprobación que verifica si el tamaño de la pila es mayor que o igual a k y si el valor de Arista1 sumado al siguiente valor de Arista2 que se acaba de seleccionar es más grande que el valor más alto de la pila (el de la raíz). Si este no es el caso (542), el algoritmo vuelve a la etapa (515) en la que una nueva ruta de tarifa puede construirse e insertarse en la pila como ya se ha descrito. Sin embargo, si la respuesta de la comprobación es positiva (541) se procede a la etapa (545), en la que se selecciona el siguiente parámetro Arista1.
En este punto, se realiza (550) una comprobación similar a la etapa (540) que se acaba de tratar, que sin embargo solo compara el valor del nuevo parámetro Arista1 seleccionado solo con el valor más alto de la pila. Si no es estrictamente mayor (551), el algoritmo vuelve a la etapa (510) para seleccionar un siguiente Arista2 y procede con la construcción de una nueva ruta de tarifa (515). Sin embargo, si es superior (552), esto termina con la búsqueda de las k rutas de tarifa (560) solicitada por la tarea llamante para un par de nodos de origen y de destino.
Por lo tanto, el procedimiento de la invención permite extraer k rutas de tarifa a partir de las estructuras de datos para cada destino. Se garantiza que sean las k rutas de tarifa valoradas más bajas presentes en la gráfica para cada origen y destino. Además, las rutas de tarifa valoradas son oportunidades reales, que se tasarán y probarán por el “motor de comprador de afinidad” mostrado en la figura 1 (105) con el fin de construir soluciones de viaje que puedan reservarse de manera inmediata. Este último se aprovecha de la precisión del “componente (110) de aprendizaje de tarifas”, que es capaz de procesar numerosas rutas de tarifa de destino de una manera eficiente a partir de las estructuras de datos de la invención (la gráfica y los árboles contextuales) que se construyen y se mantienen desde las bases de datos de disponibilidad y de tarifas constantemente actualizadas por los operadores y otros proveedores de tales servicios.
Debido a la eficiencia del algoritmo, pueden de esta manera procesarse numerosos destinos de manera simultánea en el “motor de comprador de afinidad” de manera que se ajuste al requisito original de considerar muchos destinos en una sola consulta y aun así obtener la respuesta general en un periodo de tiempo comparable al que se obtiene con otras herramientas que no pueden sin embargo procesar más de un destino a la vez.
En otras palabras, las rutas de tarifa valoradas proporcionadas por el “componente de aprendizaje de tarifas” permiten acelerar las consultas complejas manejadas por el “motor de comprador de afinidad”. Se mantiene que es solo el “motor de comprador de afinidad”, el que es finalmente responsable de la validación de una solución real. Especialmente, debe asociar un vuelo a una ruta de tarifa y añadir cosas tales como las tasas de aeropuerto. Además, se comprueba la validez de las rutas de tarifa con el fin de actualizar las estructuras de datos del “componente de aprendizaje de tarifas” cuando sea necesario. Esto ocurre con mayor frecuencia cuando las estructuras de datos acaban de inicializarse y los valores por defecto necesitan actualizarse. Este papel es interpretado por la “entidad de aprendizaje” como se muestra en la figura 2 (210), que es parte del “componente de aprendizaje de tarifas”.
La figura 6 muestra un ejemplo de una ventana (600) preparada por el “motor de comprador de afinidad” y destinada para el usuario final, es decir, en general, un agente de una agencia de viajes. Como ya se ha indicado la invención, que es capaz de calcular muchas tarifas aéreas en el tiempo transcurrido de una transacción informatizada normal, no necesita tener que especificar un destino para autorizar la emisión de una solicitud. En su lugar, pueden emitirse las diversas solicitudes temáticas, por ejemplo, desde el aeropuerto de Niza (610) un cliente puede elegir entre diversos temas de viaje (615) el de las capitales europeas (620). En este ejemplo de realización de la invención se esperan algunas otras entradas del usuario final, tales como una fecha (630) de salida flexible, un intervalo (635) de fechas de retorno y un límite presupuestario para el viaje (640).
A continuación, el producto comprador de afinidad construye un conjunto de ciudades de destino correspondientes a los criterios de afinidad, presupuesto máximo, y fechas. Después de que se han recuperado los mejores vuelos disponibles para los destinos seleccionados, clasificados en orden de tarifas ascendente, puede devolver la información al usuario final en la forma de una nueva ventana para mostrarlo (650). Vale la pena señalar de nuevo en el presente documento que los precios cotizados son soluciones de viaje reservables garantizados.
A continuación, el usuario final puede ejercer una opción y elegir un destino (655) específico, en cuyo caso se le dan
E11172973
23-06-2015
más oportunidades para elegir a partir de la siguiente ventana (660) de retorno que muestra las soluciones naturales para el destino seleccionado, es decir: Viena. En este ejemplo específico, la solución de viaje de Niza a Viena es de dos vuelos para cada segmento (665). La tarifa de operador es AF (Air France), referencia NAPFT6 (670), y el precio total es de 270,56 euros (675). En este punto el usuario final puede proceder y reservar y comprar esta solución de viaje.

Claims (14)

  1. 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
    REIVINDICACIONES
    1.
    Un sistema para proporcionar una pluralidad de opciones de destino que comprende:
    -un componente (110, 210) de aprendizaje de tarifas conectable a al menos un sistema de reservas informatizado; -un par de estructuras (220, 230) de datos actualizables a partir del componente (110) de aprendizaje de tarifas, y almacenar una pluralidad de datos de viaje, comprendiendo los datos de viaje mencionados al menos un origen (221), un destino (225), un precio reservable y unas fechas reservables; comprendiendo el par de estructuras de datos, por un lado, una gráfica de nodos con nodos y aristas en los que los nodos son los destinos de viaje y en los que cada una de las aristas hace referencia a una tarifa de viaje más baja entre los dos nodos que conectan, y por otro lado, un árbol de tarifas construidas para cada arista de gráfica y que comprende una raíz que mantiene la tarifa del viaje más baja de la arista; -un motor (105) de comprador para aceptar al menos un origen (610) y un intervalo (630, 640) de fechas e interrogar a la estructura (220, 230) de datos para generar la pluralidad de opciones de destino correspondientes al origen (610) y a las fechas reservables dentro del intervalo (630, 640) de fechas; -un motor (200) de extracción de ruta de tarifa, configurado para extraer rutas de tarifa a partir del par de estructuras de datos con el fin de determinar las rutas de tarifa menos costosas, dicho motor de extracción de rutas de tarifa configurado para construir, para cada par de origen y destino, una pila mantenida organizada como un árbol binario y configurada para acumular un número (k) máximo predeterminado de rutas de tarifa menos costosas entre el origen y el destino durante la extracción.
  2. 2.
    El sistema de la reivindicación 1, en el que el árbol binario de la pila comprende un nodo padre cuya clave del mismo es una ruta de tarifa más grande que las rutas de tarifa de dos nodos hijo correspondientes a dicho nodo padre y en el que un nodo raíz mantiene una ruta de tarifa más costosa.
  3. 3.
    El sistema de la reivindicación anterior, en el que el motor de extracción de ruta de tarifa comprende medios configurados para construir la pila implantando las siguientes etapas:
    a-inicializar la pila con una primera ruta de tarifa de longitud uno correspondiente a una conexión directa entre el origen y el destino de un par de origen y destino, b-determinar una primera arista de gráfica de la gráfica de un nodo que sale desde el origen, manteniendo dicha primera arista de gráfica la ruta de tarifa más baja desde el origen; c-determinar una segunda arista de gráfica de la gráfica de un nodo que sale desde el destino, manteniendo dicha segunda arista de gráfica la ruta de tarifa más baja desde el destino, d-construir una nueva ruta de tarifa con la primera arista de gráfica y la segunda arista de gráfica, e-comprobar si el número (k) máximo predeterminado de rutas de tarifa menos costosas ha sido añadido ya a la pila, f-si se ha acumulado más que el número (k) máximo predeterminado de rutas de tarifa menos costosas en la pila, eliminar la ruta de tarifa más costosa de dicha pila, g-determinar una segunda arista de gráfica adicional de la gráfica del nodo que sale desde el destino, manteniendo dicha segunda arista de gráfica una ruta de tarifa más baja adicional desde el destino, h-si se ha acumulado menos que el número (k) máximo predeterminado de rutas de tarifa menos costosas en la pila y si la suma de los valores de la primera arista de gráfica y de la segunda arista de gráfica adicional es menor o igual que el valor más alto de las rutas de tarifa acumuladas en la pila, construir una nueva ruta de tarifa con la primera arista de gráfica y la segunda arista de gráfica adicional, i-repetir las etapas c a h hasta que se haya acumulado más de, o un número igual a, el número (k) máximo predeterminado de rutas de tarifa menos costosas en la pila y si la suma de los valores de la primera arista de gráfica y de la segunda arista de gráfica adicional es mayor que el valor más alto de las rutas de tarifa acumuladas en la pila; j-seleccionar una primera arista de gráfica adicional de la gráfica del nodo que sale desde el origen, manteniendo dicha primera arista de gráfica adicional una ruta de tarifa más baja adicional desde el origen; k-repetir las etapas c a j hasta que: se haya acumulado no más que un número igual al número (k) máximo predeterminado de rutas de tarifa menos costosas en la pila y el valor de la primera arista de gráfica adicional sea mayor que el valor más alto de las rutas de tarifa acumulado en la pila.
  4. 4.
    El sistema de cualquiera de las reivindicaciones 1 a 3, en el que los datos de viaje comprenden además al menos uno de entre un tipo de pasajero o un límite presupuestario y en el que la pluralidad generada de opciones de destino se genera usando al menos uno de entre el tipo de pasajero o el límite presupuestario.
  5. 5.
    El sistema de la reivindicación 1 a 4, en el que el motor (105) de comprador está adaptado además para aceptar una o más solicitudes (615) temáticas y en el que la solicitud (615) temática se usa, además, para generar la lista de la pluralidad de opciones de destino.
  6. 6.
    El sistema de cualquiera de las reivindicaciones anteriores, en el que el motor (105) de comprador está adaptado además para validar al menos una opción de tarifas para al menos una de la pluralidad de opciones de destino.
    9 5
    10
    15
    20
    25
    30
    35
    40
    45
    50
    55
  7. 7.
    El sistema de una cualquiera de las reivindicaciones 1 a 6, en el que un ordenador (150) personal está conectado a través de una red (130) a dicho sistema.
  8. 8.
    Un procedimiento de producción de una pluralidad de opciones de destino que comprende:
    -recibir al menos un origen (610) y un intervalo (630, 640) de fechas; -enviar una solicitud a un par de estructuras (220, 230) de datos, pudiendo las estructuras (220, 230) de datos actualizarse con datos de viaje que comprenden al menos un origen (221), un destino (225), un precio reservable y unas fechas reservables, comprendiendo el par de estructuras de datos, por un lado, una gráfica de nodos con nodos y aristas en la que los nodos son los destinos de viaje y en la que cada una de las aristas hace referencia a una tarifa de viaje más baja entre los dos nodos que conectan, y por otro lado, un árbol de tarifas construidas para cada arista de gráfica y que comprende una raíz que mantiene la tarifa de viaje más baja de la arista; -extraer rutas de tarifa a partir del par de estructuras de datos, con el fin de determinar las rutas de tarifa menos costosas, comprendiendo dicha extracción de ruta de tarifa construir, para cada par de origen y destino, una pila mantenida organizada como un árbol binario y configurada para acumular un número (k) máximo predeterminado de rutas de tarifa menos costosas entre el origen y el destino durante la extracción; -devolver una pluralidad de resultados de la estructura (220, 230) de datos que corresponde a una lista de opciones de destino accesible desde el origen (610) y las fechas reservables dentro del intervalo (630, 640) de fechas.
  9. 9.
    El procedimiento de la reivindicación anterior, en el que el árbol binario de la pila comprende un nodo padre cuya clave del mismo es una ruta de tarifa más grande que las rutas de tarifa de dos nodos hijo correspondientes a dicho nodo padre y en el que un nodo raíz mantiene una ruta de tarifa más costosa.
  10. 10.
    El procedimiento de la reivindicación anterior, en el que la construcción de la pila comprende:
    a-inicializar la pila con una primera ruta de tarifa de longitud uno correspondiente a una conexión directa entre el origen y el destino de un par de origen y destino, b-determinar una primera arista de gráfica de la gráfica de un nodo que sale desde el origen, manteniendo dicha primera arista de gráfica la ruta de tarifa más baja desde el origen; c-determinar una segunda arista de gráfica de la gráfica de un nodo que sale desde el destino, manteniendo dicha segunda arista de gráfica la ruta de tarifa más baja desde el destino, d-construir una nueva ruta de tarifa con la primera arista de gráfica y la segunda arista de gráfica, e-comprobar si el número (k) máximo predeterminado de rutas de tarifa menos costosas ha sido añadido ya a la pila, f-si se ha acumulado más que el número (k) máximo predeterminado de rutas de tarifa menos costosas en la pila, eliminar la ruta de tarifa más costosa de dicha pila, g-determinar una segunda arista de gráfica adicional de la gráfica del nodo que sale desde el destino, manteniendo dicha segunda arista de gráfica una ruta de tarifa más baja adicional desde el destino, h-si se ha acumulado menos que el número (k) máximo predeterminado de rutas de tarifa menos costosas en la pila y si la suma de los valores de la primera arista de gráfica y de la segunda arista de gráfica adicional es menor o igual que el valor más alto de las rutas de tarifa acumuladas en la pila, construir una nueva ruta de tarifa con la primera arista de gráfica y la segunda arista de gráfica adicional, i-repetir las etapas c a h hasta que se haya acumulado más de o un número igual al número (k) máximo predeterminado de rutas de tarifa menos costosas en la pila y si la suma de los valores de la primera arista de gráfica y de la segunda arista de gráfica adicional es mayor que el valor más alto de las rutas de tarifa acumuladas en la pila; j-seleccionar una primera arista de gráfica adicional de la gráfica del nodo que sale desde el origen, manteniendo dicha primera arista de gráfica adicional una ruta de tarifa más baja adicional desde el origen; k-repetir las etapas c a j hasta que: se haya acumulado no más que un número igual al número (k) máximo predeterminado de rutas de tarifa menos costosas en la pila y el valor de la primera arista de gráfica adicional sea mayor que el valor más alto de las rutas de tarifa acumulado en la pila.
  11. 11.
    El procedimiento de cualquiera de las reivindicaciones 8 a 10, en el que la solicitud incluye además al menos uno de entre un límite presupuestario y un tipo de pasajero y la lista devuelta de resultados corresponde además al menos al límite presupuestario o al tipo de pasajero.
  12. 12.
    El procedimiento de cualquiera de las reivindicaciones 8 a 11, que comprende además enviar una o más solicitudes (615) temáticas a la estructura (220, 230) de datos y devolver una pluralidad de resultados correspondientes además a las una o más solicitudes (615) temáticas.
  13. 13.
    El procedimiento de una cualquiera de las reivindicaciones 8 a 12, que comprende además validar al menos una opción de tarifas entre un origen y al menos una de las opciones de destino.
  14. 14.
    Un producto de programa de ordenador almacenado en un medio de almacenamiento legible por ordenador no transitorio que comprende un código legible por ordenador para hacer que al menos un ordenador haga funcionar el procedimiento de una de las reivindicaciones 8 a 13.
    10
ES11172973.7T 2005-07-29 2006-07-21 Procedimiento y sistema de construcción de tarifas de viaje reales, actuales Active ES2540553T3 (es)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US70347305P 2005-07-29 2005-07-29
EP05107022 2005-07-29
EP05107022A EP1752919A1 (en) 2005-07-29 2005-07-29 Method and system of building actual travel fares
US703473P 2005-07-29

Publications (1)

Publication Number Publication Date
ES2540553T3 true ES2540553T3 (es) 2015-07-10

Family

ID=35044651

Family Applications (2)

Application Number Title Priority Date Filing Date
ES11172973.7T Active ES2540553T3 (es) 2005-07-29 2006-07-21 Procedimiento y sistema de construcción de tarifas de viaje reales, actuales
ES06777883T Active ES2386011T3 (es) 2005-07-29 2006-07-21 Procedimiento y sistema para la elaboración de tarifas reales de viajes

Family Applications After (1)

Application Number Title Priority Date Filing Date
ES06777883T Active ES2386011T3 (es) 2005-07-29 2006-07-21 Procedimiento y sistema para la elaboración de tarifas reales de viajes

Country Status (12)

Country Link
US (1) US20080270254A1 (es)
EP (3) EP1752919A1 (es)
JP (1) JP5166262B2 (es)
KR (1) KR101262960B1 (es)
CN (1) CN101297309A (es)
AT (1) ATE556389T1 (es)
AU (1) AU2006274903B2 (es)
BR (1) BRPI0614454A2 (es)
CA (1) CA2614611A1 (es)
ES (2) ES2540553T3 (es)
PL (2) PL1920395T3 (es)
WO (1) WO2007014870A2 (es)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090192917A1 (en) * 2008-01-24 2009-07-30 David Wolkin Method for retrieving and presenting travel related information
EP2175404A1 (en) * 2008-10-01 2010-04-14 Amadeus S.A.S. A method and system for building an offer of optimal services for a given service or product
DE102009017082A1 (de) * 2009-04-15 2010-11-04 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Generieren einer Datenbank für eine Datenbankabfrage, sowie ein Suchverfahren und eine Suchvorrichtung zur Datenbankabfrage
EP2264655A1 (en) * 2009-05-18 2010-12-22 Amadeus S.A.S. Method and system for determining an optimal low fare for a trip
EP2336960A1 (en) * 2009-12-14 2011-06-22 Amadeus S.A.S. Multi-destination trip selection
US8855919B2 (en) * 2010-12-02 2014-10-07 Telenav, Inc. Navigation system with destination-centric en-route notification delivery mechanism and method of operation thereof
US8611852B2 (en) * 2011-12-12 2013-12-17 Oracle International Corporation Advice of promotion for usage based subscribers
EP2608060A1 (en) 2011-12-22 2013-06-26 Amadeus Provider data tuning
EP2610790A1 (en) * 2011-12-28 2013-07-03 Amadeus Improved method and system for searching for and/or purchasing products or services
US9411890B2 (en) * 2012-04-04 2016-08-09 Google Inc. Graph-based search queries using web content metadata
US9037399B2 (en) * 2012-06-20 2015-05-19 Microsoft Technology Licensing, Llc Pluggable route-planning module
CN103994769B (zh) * 2013-02-19 2018-09-18 腾讯科技(深圳)有限公司 地图导航路线获取方法和终端
US10032195B2 (en) * 2013-03-13 2018-07-24 Airline Tariff Publishing Company System, method and computer program product for providing a fare analytic engine
US11030635B2 (en) 2013-12-11 2021-06-08 Skyscanner Limited Method and server for providing a set of price estimates, such as air fare price estimates
EP3080764A1 (en) * 2013-12-11 2016-10-19 Skyscanner Limited Method and server for providing a set of price estimates, such as air fare price estimates
US11687842B2 (en) 2013-12-11 2023-06-27 Skyscanner Limited Method and server for providing fare availabilities, such as air fare availabilities
US20160132791A1 (en) * 2014-11-07 2016-05-12 Graph SQL, Inc. Methods and systems for distributed graphical flight search
CN105303486A (zh) * 2015-09-06 2016-02-03 李想 一种基于成本最低的智慧旅游推荐系统与方法
US10387427B2 (en) 2016-07-28 2019-08-20 Amadeus S.A.S. Electronic dataset searching
US10740824B2 (en) 2018-03-15 2020-08-11 Amadeus S.A.S. Product delivery system and method
JP6850310B2 (ja) * 2019-01-24 2021-03-31 スカイスキャナー リミテッドSkyscanner Ltd 見積もり価格、たとえば航空運賃価格見積もりの組を提供するための方法及びサーバ
WO2021040767A1 (en) * 2019-08-26 2021-03-04 Acxiom Llc Secondary tagging in a data heap
JP7262497B2 (ja) * 2021-03-05 2023-04-21 スカイスキャナー リミテッド ホテル予約価格見積もりを提供するための方法及びサーバ
CN116050956B (zh) * 2022-06-17 2023-09-26 南京云次方信息技术有限公司 一种跨境电商物流计算运费系统

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5177684A (en) * 1990-12-18 1993-01-05 The Trustees Of The University Of Pennsylvania Method for analyzing and generating optimal transportation schedules for vehicles such as trains and controlling the movement of vehicles in response thereto
US5948040A (en) * 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
NZ332228A (en) * 1995-09-06 2000-01-28 Sabre Group Inc Computerised corporate travel management system
US5781906A (en) * 1996-06-06 1998-07-14 International Business Machines Corporation System and method for construction of a data structure for indexing multidimensional objects
JPH10132594A (ja) * 1996-10-31 1998-05-22 Sony Corp 経路探索方法
JP3353029B2 (ja) * 1997-07-25 2002-12-03 株式会社ナビタイムジャパン 最小コスト経路探索方法およびシステム
US6381578B1 (en) * 1998-07-02 2002-04-30 Ita Software, Inc. Factored representation of a set of priceable units
US6275808B1 (en) * 1998-07-02 2001-08-14 Ita Software, Inc. Pricing graph representation for sets of pricing solutions for travel planning system
US6336097B1 (en) 1999-07-01 2002-01-01 Manugistic Atlanta, Inc. Apparatus, systems and methods for constructing large numbers of travel fares
US7050904B2 (en) * 2000-02-22 2006-05-23 Pointserve, Inc. Data formats and usage for massive point-to-point route calculation
JP2001264097A (ja) * 2000-03-22 2001-09-26 Hitachi Software Eng Co Ltd 最適経路探索方法、装置、及び該方法に係るプログラムを記憶した記憶媒体
AU2001251225A1 (en) * 2000-03-30 2001-10-15 High Adventure Travel, Inc. Itinerary optimizer
US7136821B1 (en) * 2000-04-18 2006-11-14 Neat Group Corporation Method and apparatus for the composition and sale of travel-oriented packages
US20020091535A1 (en) 2001-01-08 2002-07-11 Getinaction, Ltd System and method for selecting a vacation destination and accommodation
US20020143587A1 (en) * 2001-04-02 2002-10-03 Microsoft Corporation Optimized system and method for finding best fares
JP2004061291A (ja) * 2002-07-29 2004-02-26 Toshiba Corp 経路探索方法及び経路探索プログラム

Also Published As

Publication number Publication date
AU2006274903A1 (en) 2007-02-08
PL2437211T3 (pl) 2015-11-30
US20080270254A1 (en) 2008-10-30
CA2614611A1 (en) 2007-02-08
WO2007014870A3 (en) 2008-01-24
KR20080065967A (ko) 2008-07-15
JP5166262B2 (ja) 2013-03-21
WO2007014870A2 (en) 2007-02-08
AU2006274903B2 (en) 2012-04-26
EP2437211A2 (en) 2012-04-04
EP1752919A1 (en) 2007-02-14
EP1920395B1 (en) 2012-05-02
EP2437211B1 (en) 2015-03-25
KR101262960B1 (ko) 2013-05-09
CN101297309A (zh) 2008-10-29
PL1920395T3 (pl) 2012-10-31
JP2009510545A (ja) 2009-03-12
ES2386011T3 (es) 2012-08-07
EP2437211A3 (en) 2013-10-02
ATE556389T1 (de) 2012-05-15
EP1920395A2 (en) 2008-05-14
BRPI0614454A2 (pt) 2012-11-27

Similar Documents

Publication Publication Date Title
ES2540553T3 (es) Procedimiento y sistema de construcción de tarifas de viaje reales, actuales
Crotti et al. The travel & tourism competitiveness index 2015: T&T as a resilient contribution to national development
US20050216301A1 (en) Itinerary planning tool, system, and method
US20070078729A1 (en) Itinerary planning tool, system, method, software, and hardware
US20020016724A1 (en) System and method for booking international multiple-stop tickets
CN105761175A (zh) 旅游路线订制方法和服务器
JP5235988B2 (ja) サーチ技術における改良又はサーチ技術に関する改良
WO2001013299A2 (en) Online reservation system and method
WO2008101846A2 (en) System and methods for providing comprehensive travel packages to attend scheduled events
CN111060119B (zh) 基于街景图视觉要素评分的城市慢行出行导航方法和系统
US20050154622A1 (en) Method and system of booking airline itineraries and stopovers
FR3104296A1 (fr) Système de determination de produit optimisé
JONES* Historical continuity and post‐1945 urban redevelopment: the example of Lee Bank, Birmingham, UK
Zakariya et al. Potentials of Technical Tours for Special Interest Tourists in Kuala Lumpur
Cohen Running on empty: Coronavirus has changed the course for races big and small
Than Myanmar Times
Onuorah et al. Enhancing Circulation And Security In A Shopping Environment Through Architectural Measures: A Case Study Of The Congested Onitsha Main Market
EP3790238A1 (en) System and method for determining a set of routes, in a computerized environment
Najimi Tourism in Afghanistan.
Grimaldi How CVBs Are Surviving in the Age of COVID-19
Neuman Ram Karmi and the New Central Bus Station in Tel Aviv
CN117610857A (zh) 一种面向多目的地人员的空间众包方法
Brook History of the Present: Mexico City
Tumas Faculty of Computer Science
Kopka et al. Graph Theory and Web Technologies Application for Train Timetable Database Handling