Note: Descriptions are shown in the official language in which they were submitted.
CA 02390205 2002-05-02
WO 01/33400 PCT/US00/30321
Automated Methods for Creation of Adaptive Trade Specifications
Background - Cross Reference to Related Applications
This application claims the benefit of U.S. Provisional Application No.
60/163,243, filed November 3,
1999. Related subject matter is set forth in U.S. Provisional Application No.
60/161,355, filed October 26, 1999,
and 60/163,245, filed November 3, 1999. The disclosures of all of the just-
cited provisional applications arc hereby
incorporated by reference in their entireties into the present disclosure.
Baek~Jround - Field ojluvention
The present invention is directed to a system and method for facilitating
electronic commerce and more
particularly to a trade mechanism comprised of a library of predefined wizards
i.e., specialized "smart" interface
templates for various types of trading paradigms:
~ Procurement organization
~ Supplier
~ Manufacturer
~ Surplus Seller
~ Reseller
~ Simple Buyer
~ Simple Seller
~ Trade-in
Background - Discussion of Prior Art
2o Many software systems that offer direct interaction with the user provide
sophisticated
graphical user interfaces .to facilitate information exchange between user and
system. One
technique for allowing a user to interact with and control a system is called
a "wizard." Broadly
defined, a wizard is a utility within an application that helps the user use
the application to
perform a particular task. For example, a "letter wizard" within a word
processing application
leads the user through the steps of producing different types of
correspondence.
CA 02390205 2002-05-02
WO 01/33400 PCT/US00/30321
In an unrelated development, the growth ofthc Internet, and particularly ofthe
World Wide
Web, has led to the growth of electronic commerce, in which users buy and sell
goods online.
Electronic commerce, or e-commerce, can be directed at consumers or can be
business-to-
business ("B2B").
s In its simplest form, e-commerce involves posting a catalog online, in which
each item is
described, and a f xed cost is given. Such an online catalog is typically
implemented by CGI or
some similar scripting language, allowing the consumer to input a quantity
desired and other
pertinent information through text-entry boxes, drop-down menus, buttons, and
other
components of a user interface.
Such an interface is not well suited to more complicated transactions. For
example, the
above-referenced patent applications teach the use of adaptive trade
specifications (ATS's), in
which traders specify items that they are willing to give, items that they
desire to take in return,
constraints on the contemplated trade, and an objective to be optimized (e.g.,
maximum profit
or minimum total outlay). Such information can be difficult to input into a
traditional e
commerce Web site.
Summary of the Invention
It will be readily apparent that a need exists in the art to provide a simple
and efficient way
to input complex trading specifications. It is, therefore, an object of the
invention to provide a
graphical user interface for the creation and management of Adaptive Trade
Specifications for
2o usage in the Electronic Marketplace.
It is a further obj ect of invention to provide a graphical user interface to
the ATS Based Match
Making and Optimization automated method that can find optimal trade
transaction for the
traders in the Electronic Marketplace in scenarios that include, but are not
limited to, business-to-
business and multiple-businesses to multiple-businesses.
2
CA 02390205 2002-05-02
WO 01/33400 PCT/US00/30321
1'o achieve the above and other objects, the present invention is directed to
a system and
method by which traders use ATS Wizards to create and manage Adaptive Trade
Specifications
that are used in an ATS Based Electronic Marketplace.
This invention implements a technique by which various traders that take part
in the
Electronic Marketplace create and manage Adaptive Trade Specifications. An
Electronic
Marketplace is comprised of Electronic Malls and Electronic Auctions, or a
combination of
thereof. Traders will be represented in the Electronic Mall through Adaptive
Trade Specifications
(ATS). Given a trader's ATS created and managed by an ATS Wizard, the
underlying system
provides an automated process that recommends specific transactions with other
traders' ATS's,
that are mutually agreeable with, and optimize the objective of, the trader's
ATS (e.g. minimal
price, maximal profit, etc.). More specifically, the invention describes the
upper tier in the
infrastructure that includes Adaptive Trade Specifications (ATS), ATS-based
Match Making and
Optimization, and ATS-based Electronic Marketplace. These are described bellow
as a summary
excerpt from the related applications cited above:
~ Adaptive Trade Specification (ATS) Model. Adaptive Trade Specification (ATS)
is a
formal mathematical description of trader's objective and constraints. ATS
constraints
include restrictions (on quantities, prices, totals, profits, revenues etc.)
that must be satisfied
to perform an optimal transaction, and the interconnection between various
business
parameters (such as profit, quantities, prices and costs). The core of each
ATS is a
specification of "items" the trader offers to GIVE as well as "items" to TAKE
in return. For
example, a procurement organization may offer to GIVE the "item" money and
wants to
TAKE items of office supply. An office equipment supplier may have an ATS, in
which all
its catalog appears as GIVE items, and money as the only TAKE item. Whereas, a
manufacturer may have an ATS, in which all of its products appear as GIVE
items, all raw
materials and money (i.e., revenues for its products) as TAKE items. ATS is
adaptive in that
various numeric parameters such as quantities of items, prices, profit,
revenue, totals etc. are
3
CA 02390205 2002-05-02
WO 01/33400 PCT/US00/30321
not fixed, but could vary, provided that they satisfy the ATS constraints.
Item specifications
in an ATS arc also constraint-based and not fixed. For example, an ATS of a
trader may
include, as one of the TAKE item specifications, a hard disk that has at least
12 GB capacity
and is compatible with a G7305E mother board; no exact model and vendor is
necessary.
~ ATS-based Match Making (MM) Optimization Automated Method. Given a trader's
ATS, the MM and Optimization method recommends specific transactions with
other traders
(i.e., against their ATS's) that are mutually agreeable and optimize the
objective of the
trader's ATS (e.g., minimal price, maximal profit, etc.). The recommended set
oftransactions
will indicate exactly with whom the transaction should be made, the exact GIVE
and TAKE
l0 items and their quantities, as well as other relevant parameters (e.g.,
price and profit). For
example, for procurement ATS, the MM and Optimization method recommends a set
of
suppliers' ATS's and the exact quantities of the items to be purchased from
each, so that the
procurement ATS objective, say the minimal total cost, is achieved. Or, for a
manufacturer's
ATS, the MM and Optimization method can recommend a set of buyers ATS's
interested in
the manufacturer's products, and a set of ATS's suppliers of raw materials
necessary to
manufacture the products, so that the manufacturer's objective, say maximal
profit, is
achieved. The ATS-based match making and optimization are generic and work
uniformly
regardless of a specific wizard (or trader type) that generated them.
~ ATS-based Electronic Mall. This is a novel and powerful paradigm, which
encompasses and
2o expands on the regular electronic mall and shop model. The main difference
is that an ATS-based
shop trades one or more ATS's, rather than just selling items. Thus, an ATS-
based trader can sell
items as a "regular" shop (i.e., have a supplier ATS), or procure (i.e., have
a procurement ATS),
or offer manufacturing capability (i.e., have a manufacturing ATS) etc. While
a "regular" shop
may be selling a long list of items, an ATS-based trader shop is likely to
have only a small
number of, and often just one, ATS. For example, an office supplies shop may
include its entire
catalog of items in a single ATS, in which constraints will be on the
limitation in available
4
CA 02390205 2002-05-02
WO 01/33400 PCT/US00/30321
quantities, and will also include the price function (e.g., based on price per
item and volume
discounts). The fact that totally unrelated items may appear in the same ATS
is not a problem,
because traders visiting the mall (e.g., to search, match-make etc.) will, by
default, see only item
sets that are relevant to their interests (ATS's). Visiting traders could
perform match-making that
optimizes their own ATS objective and recommends the best (combined)
transaction. This can
be done against ATS's in a particular shop or the entire mall. A visiting
trader can immediately
perform a transaction with any ATS in the mall, provided it is mutually
agreeable with the
visitor's ATS.
~ ATS-based Electronic Auctions. This is a novel and powerful auction
paradigm, that is
to especially suited for business-to-business trade, and which encompasses
"regular" direct and
reverse auctions as a simple case. In a regular auction, the auctioned bundle
(or item) is fixed and
indivisible; each bid is a monetary amount; and the outcome is a single winner
who offered the
highest bid. In contrast, in an ATS-based auction, the auctioned bundle is an
ATS (and thus
dividable among different bidders); each (partial) bid is an ATS; and the
outcome may be one
or many "winners", with whom the auctioning trader will perform a multiple
combined
transaction.
For example, suppose that a surplus seller initiates an auction with a surplus
ATS, that has
the obj ective of maximizing the overall revenue (whether the entire surplus
or only part of it will
be sold). Bids could be ATS-based offers from buyers (procurement
organizations). Each such
2o ATS bid may indicate, as TAKE items, only some, not all, of the surplus
items, and have
constraints on the quantities and prices offered (as in any ATS, it may
involve flexible, rather
than fixed, quantities and cost functions). When the auction ends, the system
collects the latest
ATS bids from all auction participants, and performs a match-making that
optimizes the
objective of the auctioned ATS (the maximal overall revenue, in our example).
The outcome of
the auction is a set of "winning" ATS's and the exact recommended quantities
(quantities of
5
CA 02390205 2002-05-02
WO 01/33400 PCT/US00/30321
items in the surplus to be sold to each "winner" so that the maximal overall
revenue will be
received).
In the special case when an auctioned ATS indicates fixed quantities for
traded items, and
requests that there be only one winner, the ATS auction degenerates to a
regular auction.
However, regular auctions arc not flexible enough for corporate traders. For
example, running
a regular auction for the entire surplus would eliminate potential auction
participants and
possibly higher monetary awards. One could also split the surplus into small
bundles, or even
individual items, and run a regular auction for each bundle. However, this
approach would
require to run possibly hundreds of tiny auctions - a tedious process j ust
for one surplus package.
Also, many corporate auction traders may not at all be willing to participate
in tiny-scale
auctions, which again would eliminate potential participants. In contrast, ATS
auctions provides
the best ofboth worlds: a single auction, no restrictions on potential
participants, and the optimal
outcome for the auction initiator (ATS).
The ATS auction is generic for any auctioned ATS and bid ATS's, regardless of
how (or using
which wizard) they were generated. Thus, one could also auction a procurement
ATS, in which
case suppliers and manufacturers may be potential bidders. Or, one could
auction a
manufacturing ATS, in which case procurement organizations as well as raw
material suppliers
may be potential bidders. Thus, in addition to its flexibility, ATS auctions
capture "direct",
"reverse", and any "in-between" auctioning, depending on the ATS being
auctioned.
2o All the activities and concepts described above are materialized and
instantiated through specific
graphical interfaces, called ATS Wizards.
The invention is directed to the process by which various traders interact
with an ATS based
Electronic Marketplace and to the method to create and manage ATS's. The
trader using the
wizard inserts into the wizard predefined trading parameters and concepts such
as:
~ Items to be traded.
~ Minimum and maximum quantity per each item
6
CA 02390205 2002-05-02
~'!'(1 (11/334(1(1 1'(''I~/U~(1(1/30321
~ Minimum and maximum price per unit of item
~ Minimum and 177aX1n7L1111 total price per item
~ Minimum and maximum total price for the entire set of items
~ Volume discount function for each item in the ATS or for the entire ATS
~ Delivery dates
~ Revenue
~ Profit
In each one of the wizards, take item entries (desired items) and give item
entries (offered
items) are constructed by adding items to the wizard by the user.
1 o The wizards can be characterized by indicating Input, Default Input,
Output, and the Method
for constructing Output from Input.
The underlying system that interacts with the wizards takes the information
entered by the user
translates it to a mathematical format and propagates it for further
processing by ATS-based Match
Making Optimization Methods.
Brief Description of the Drawings
A preferred embodiment of the present invention will be set forth in detail
with reference
to the drawings, in which:
FIG. 1 ATS-Based Trading Software System, describes a high level graphical
summary of the
suite of software tools related to the ATS-Based Trading Software System.
FIG.2ATS-BasedMatch-Making and
OptimizationHardwareArchitectureDiagram,describes
a high level graphical summary of the hardware architecture.
FIG. 3 Item Specification and Adaptive Trade Specification (A TS) Class
Diagram, presents a
high level graphical summary of the Item Specification and Adaptive Trade
Specification classes.
FIG. 4a Functional Diagram for' ATS Wizards, Procurement Wizard Method
presents a high
level graphical summary of ATS Procurement Wizard.
7
CA 02390205 2002-05-02
N'(> (I1/334()ll 1'C'I'/US(10/3(132i
FIG. 4b Ircr»ctio»crl I)i«,;>r«»y~or,~7;5 ll~izarcl.v, ,Snrpplicn l~l'iz«rd
A9cthoclprcscnts a hi'zh lcvcl
graphical summary of ATS Supplier Wizard.
FIG. 4c Functio»al Dicrgrcrm for ATS Wizarols, R~anufacturer Wizard Method
presents a high
level graphical summary of ATS Manufacturer Wizard.
FIG. 4d FZrnctional Diagram for ATS Wizards, SznplZrs Seller Wizard Method
presents a high
level graphical summary of ATS Surplus Seller Wizard.
FIG. 4e Functional Diagram for ATS Wizards, Reseller Wizard Method presents a
high level
graphical summary of ATS Reseller Wizard.
FIG. 4f Functional Diagram for ATS Wizards, Simple Buy Wizard Method presents
a high level
l0 graphical summary of ATS Simple Buy Wizard.
FIG. 4g Functional Diagram for ATS Wizards, Simple Sell Wizard Method presents
a high level
graphical summary of ATS Simple Sell Wizard.
FIG. 4h Functional Diagrarn for ATS Wizards, Trade-in Wizard Method presents a
high level
graphical summary of ATS Trade-in Wizard.
FIG. 5 ATS Creation Technique presents a flow chart of the technique for
forming an ATS in
accordance with the functional diagram of any of FIGS. 4a-4h.
Detailed Description of the Preferred Embodiment
A preferred embodiment of the present invention will now be set forth in
detail with
reference to the drawings.
Fig. l shows an overview of an environment in which the wizards of the
preferred embodiment
can be used. An ATS-based electronic marketplace 101 can include one or more
of an ATS-
based electronic mall 103, an ATS-based electronic auction (forward or
reverse) 105, and any
other ATS-based commerce environment. As noted above, participants in the
marketplace 1 Ol
form ATS's through various techniques. One such technique is the use of
wizards 107, including
one or more of a procurement wizard 109, a supplier wizard 111, a
manufacturing wizard 113,
8
CA 02390205 2002-05-02
WU (11/334(1() 1'C'1'/lJS(10/3(1321
a surplus seller wizard 1 I 5, a rescllcr wizard 1 17, a ~~cncric buy anti
sell wizard 1 19, a generic
buy wizard 121, a generic sell wizard 123, a trade-in wizard 125, and other
wizards adapted to
speci fit purposes. These wizards, like those wizards that are known in the
programming art, are
utilities that guide a user through a specific task.
The ATS's formed through use of the wizards 107 are input to the ATS match-
maker 127,
which uses matchmaking optimization methods described in the above-referenced
related
applications.
The processes performed by the matchmaker 127 are object-oriented and follow
the
specifications of the ODMG (Object Database Management Group). A Constraint
Object
1 o Oriented Database (CSPACE) 129 uses an iterative query language (IQL) 131
and a constraint
and optimization library 133 to perform the matchmaking and optimization. The
CSPACE 129
communicates through an ODMG wrapper 135 with an ODMG-compliant database
manager 137
and also communicates directly with a mixed integer programming (MIP) solver
139.
The above is implemented on a hardware architecture that will now be explained
with reference
to Fig. 2. The hardware architecture capable of running an ATS based match-
making and
optimization system includes several logical tiers, each one performing
specific computational
tasks. Each tier can be described in terms of specific tasks that it performs.
From the hardware
perspective, each tier can be built from computers having sufficient
computational power.
Tier 1 includes a database server 201, which is a power server machine
(preferably dual
or quad Pentium III machine) running one of the following network operating
systems: Windows
NT 4.0, Novell 5.0, UNIX. The database server 201 performs all tasks related
to data
persistency, data integrity and querying. The database server 201 runs one of
the commercially
available object oriented databases such as Poet, Objectivity, Object Store,
etc.
Tier 2 includes the application server 203, which is a power server machine
(preferably
dual or quad Pentium III machine) running one of the following network
operating systems:
Windows NT 4.0, Novell 5.0, UNIX etc. The application server 203 performs all
tasks related
9
CA 02390205 2002-05-02
w0 01/3340() 1'CT/l1S(10/30321
l0 pCrlOrl7llIl'~ AT~-biISCG IllalCll-Il1V1C111~ alld Ohllllll%,atlOll. TIIC
d~ll~i arC paSSed betWeell lay eI'S
via RM 1, CORBA, DOOM or any other distributed computing protocol al lowing
remote method
invocation and data transmission.
Tier 3 includes a Web server 205, which is a computer that responds to
requests from Web
browsers via HTTP. The Web server 205 transfers text files and corresponding
graphics and data
via HTTP to remote computers that are running Web browsers. The Web server 205
should have
the functionality commonly associated with e-commerce Web servers, such as CGI
(Common
Gateway Interface) for performing searches and other dynamic HTML functions
and SSL
(Secure Socket Layer) for handling secure transactions.
The servers 201, 203, and 205 communicate with another through an internal
network.
However, in order to be useful to users, the Web server 205 communicates via
the Internet 207
or another publicly accessible network with Tier 4, which includes computers
209 running on
users' premises and used as Web clients. The Web clients 209 are computers or
other devices
(such as WAP-enabled wireless devices) capable of running any standard off the-
shelf browser.
The clients 209 run Web-based applications that will use information provided
by the application
server 203 and the Web server 205. The servers can be, but are not
necessarily, implemented on
separate machines. Other possibilities are separate virtual machines or simply
separate software
processes or threads.
FIG. 3 provides a high level graphical description of the classes Item
Specification and
2o Adaptive Trade Specification. An ATS class 301 includes four components:
give-item-entries
303, take-item-entries 305, constraints 307 and an objective 309. The give-
item-entries 303
identify what the particular user is willing to give in the trade and include
one or more item
specifications 311. The take-item-entries 305 identify what the user wants in
return and include
one or more item specifications 313. The constraints 307 set forth
restrictions that must be
satisfied before a transaction can be carried out, e.g., constraints on
quantity or on time of
CA 02390205 2002-05-02
W<) 111/3340(1 1'C'1~/t1~00/30321
delivery. rl~he ~hjective 30~) indicates what the 1)articular user wants to
optitnizc; for exanlplc.
r1 SC11CC Illay Walll l0 Op111711L.C ~Illaxlllll%C) pCOfll, WlIlIC a bUyC1'
Illay Walll t0 Ophnll7e (11711111711IC~
total COSt.
The ATS's are created by users through ATS wizards, which will now be
described.
Each ATS Wizard is described below, as a Method that takes its Inpzzt from the
user, and creates
an Output ATS with an Objective function. The Input section of each wizard
describes fields
entered by the user, and the Method describes the process of creation of the
ATS. The use of the
ATS's as thus created has been noted above and is also described in the two co-
pending
applications referenced above; therefore, such use will not be described in
detail here. Each Input
1 o represents an editable text entry widget, or a selection box, used by the
user to specify
parameters. Each wizard is a window widget that contains the editable input
widgets described
in the Input section and the Objective section of each wizard.
The wizards can be implemented in any suitable programming language that
allows the
creation of a user interface and the saving of information to a mass storage
device such as a hard
drive. The elements of the user interface can include well known elements such
as text boxes,
drop-down lists, buttons, and the like.
Eight examples of ATS wizards will be described. Other wizards can be
generated as
needed for the needs of each specific type of trader.
A. Procurement Wizard (Fig. 4a)
2o Method (403) Name: Procurement Wizard.
Input (401): Parameters defined by the user through a graphical user interface
as follows:
~ A set (1S1, IS2 , ..., ISn~ of item specifications that the trader wants to
procure (to take).
~ For each item specification IS in ~ISl, ..., ISn~:
- Minimal-Quantity~ISJ, the minimum quantity of items to buy.
- Maximal-Quantity~ISJ, the maximum quantity of items to buy.
11
CA 02390205 2002-05-02
wo oa~:~aoo f>cnn~suoi:~o~2~
- Ro/i~renw~-I'riw°-lor--Llnit/lS'/, a prier to be used to construct
the reference price function.
used t0 C0117paI'C Oflel'Cd pI'1CCS.
~ Maximal-Time-To-Shipping, the maximal number of days until an ordered
package is
shipped.
~ Maximal-Total-Price, the maximum total price of the items to procure.
~ Maximal-Reference-Price-Ratio, where Reference-Price-Ratio is defined as the
ratio between
the offered price per offered quantities and the Reference-Price per offered
quantities, the
latter computed using Reference-Price-Per-Unit (fair price) for each offered
item
specification. (Intuitively, how much more or less than the reference price is
the trader
willing to pay, where for example: 2, means that the buyer is willing to pay
twice as much
as the reference price, and 0.5 means that the buyer is willing to pay half as
much as the
reference price.).
~ Objective of the trade, which is a selection of one of the following:
- minimal price, the buyer wants to pay the minimal price for any quantity of
items
procured.
- minimal price as compared with reference price, i.e. min {actual price-
reference price} .
Default Values for Input Parameters:
The procurement method uses default values for input parameters, defined as
follows:
~ For each item specification IS in the input set ~ISl, ...,ISn):
- Default value for both Minimal-Quantity(ISJ and Maximal-Quantity~ISJ is 1
(one unit),
if neither quantity was specified by the trader. If only Minimal-Quantity~ISJ
was entered
by the trader, then it becomes the default value for Maximal-Quantity~ISJ, and
vice-
versa.
~ The default Maximal-Time-To-Shipping is 0 (zero) days.
~ The default Maximal-Total-Price is + infinity, i.e., no limitation for price
is requested.
12
CA 02390205 2002-05-02
V'U l)1/334U0 1'C'I'/lISUU/3U321
~ The default Mcr.a-inurl-Roji~rmmo-I'r-icc-IZcrtio is ~ infinite, i.c., no
limitation for Rej~~renco-
1'rico-Ratio was rcqucstcd.
The default Objective of the trade is "nrirtimal price".
Output (405):
A constructed ATS, which includes:
Give-Rent-Entries (the amount of money paid).
Take-Item-Entries (the quantity of each item to be bought).
Constraints:
- Variables (unknowns).
- Constraint Expressions.
Objective (includes objective function and indication whether minimum or
maximum is
sought).
Method Description:
The output ATS is constructed as follows:
~ Give-Item-Entries:
- Set Give-Item-Specs to the set money-ISO, i.e., a singleton set that
contains the item
specification for monetary amount.
- Set Quantity-Range for money-IS to:
- D <= Quantity~money-ISJ <= Maximal-Total-Price
~ Take-Item-Entries:
- Set Take-Item-Specs to the set ~ISl, ...,ISn~ from Input.
- For each item specification IS in Item-Specs of Take-Item-Entries set its
Quantity-
Range to:
Minimal-Quantity~ISJ <= Quantity~ISJ <= Maximal-Quantity~ISJ.
~ Constraints:
13
CA 02390205 2002-05-02
WO ll1/334(Ill !'C'I'/l1S(lo/30321
- haricrhlcc (unl;nmwus):
Quantitv/IS/ for cacti IS in Talce-item-Specs.
Ouantity/inonev-ISJ.
Money.
~ Reference-Price.
Price.
Delta.
Time-To-Shipping.
- Constraint Expression:
Price, Delta, Money, Reference-Price, Time-To-Shipping >= 0 AND
Price = Money AND
Reference-Price = Reference-Price-Per-Unit~ISIJ * Quantity~ISIJ +
... + ...
Reference-Price-Per-Unit~ISnJ * Quantity~ISnJ AND
Price <= Maximal-Reference-Price-Ratio * Reference-Price AND
Delta = Price - Reference-Price. AND
Time-To-Shipping <= Maximal-Time-To-Shipping.
~ Objective is:
- Minimize Price if selected by user as Input.
- Minimize Delta, if "minimize price as compared with reference price" was
selected by
the user.
B. Supplier Wizard (Fig. 4b)
Method (413) Name: Supplier Wizard.
Input (411): Parameters defined by the user through a graphical user interface
as follows:
~ A set ~ISl, ..., ISn~ of item specifications that the trader wants to sell
(to give).
14
CA 02390205 2002-05-02
~VU (11/334(111 1'C'I~/11500/30321
~ l~or each item specification IS in ;1S1, .. , ISn,?:
- Mininurl-~)uantitv~ISJ, the minimum duantity to sell.
- Maximal-Quantity~ISJ, the maximum quantity to sell.
- List-Price-Per--Unit~ISJ, the list price per unit offered.
~ Maximal-Time-To-Shipping, the maximal number of days until an ordered
package is
shipped.
Volume-Discounted-Pricing, described as:
- List-Price-Bound~lJ -> Discount-Rate~lJ,
-
- List-Price-Bound~mJ -> Discount-Rate~mJ. (How much in currency a buyer has
to
pay, to receive a certain amount ofDiscount-Rate currency.)
~ Objective of the trade, which has only one selection:
- Maxitnal price, the supplier wants to receive the maximal price for items
sold.
Output (415):
A constructed ATS, which includes:
Give-Item-Entries.
Take-Item-Entries.
~ Constraints:
- Variables (unknowns).
- Constraint Expressions.
Objective (includes objective function and indication whether minimum or
maximum is
sought).
Method Description:
CA 02390205 2002-05-02
VV(> 111/334(1(1 PC'.~I'/tl~(10/30321
'l~hc output ATS is coostructcd as follows:
~ GI1~C'-Ite-Ill-ElItI~ILS':
- Set Give-Item-Specs to the set ilSl, ..., ISnJ from Input.
- For each item specification IS in Item-Specs of Give-Item-Entries set its
Qualatit~~-
Range to:
Minimal-Quantity~ISJ <= Quantity~ISJ <= Maximal-Quantity~ISJ.
~ Take-Item-Entries:
- Set Take-Item-Specs to the set (money-IS), i.e., a singleton set that
contains the item
specification for monetary amount.
l0 - Set Quantit~~-Range for money-IS to:
- 0 <= Quantity~money-ISJ <_ +infinity.
Constraints:
- Variables (unknowns):
Quantity~ISJ for each IS in Give-Item-Specs.
~ Quantity~money-ISJ.
Price.
Time-To-Shipping.
Discount.
- Constraint Expression:
Price, List-Price, Time-To-Shipping >= 0 AND
Price = Quantity~money-ISJ AND
List-Price =
List-Price-Per-Unit~ISl J *Quantity~ISl J+
... +...
List-Price-Per-Unit~ISnJ *Quantity~ISnJ.
AND
16
CA 02390205 2002-05-02
W(> (11/334(10 NC~I'/11500/3(1321
(Discount = 0 OR
List-Price-Bozrnd~lJ <= List-Price < List-Price-l3ound~2J AND
Discount = List-Price * Discount-Rate~IJ) OR
...OR...
(~Lisi-Price-Bound~m-1J <= List-Price < List-Price-Bound~ntJ AND
Discount = List-Price * Discount-Rate~m-1J)
OR
(List-Price-Bound~mJ <= List-Price AND
Discount = List-Price * Discount-Rate~mJ)
J AND
Price = List-Price - Discount. AND
Time-To-Shipping <= Maximal-Time-To-Shipping.
Objective is to maximize Price.
C. Manufacturer Wizard (Fig. 4c)
Method (423) Name: Manufacturer Wizard.
Input (421): Parameters defined by the user through a graphical user interface
as follows:
~ A set prod-ISI, ..., prod-ISnJ ofproducts item specifications that the
trader manufactures
from raw materials and sells.
~ For each product prod-IS in (prod-ISl, ..., prod-ISn):
- Minimal-Quantity~prod-ISJ, the minimum quantity to sell.
- Maximal-Quantity~prod-ISJ, the maximum quantity to sell.
- A set mat-ISl, ..., mat-ISnJ of all raw-materials needed to produce a
product prod-IS.
- For each raw-material mat-IS in mat-ISl, ..., mat-ISnJ:
17
CA 02390205 2002-05-02
~~() (11/334()0 YC'1~/US(10/30321
OrrantiW/imml-hf, nurt-IS'J, ibc duantity of rave materialmecessary to
manufacture
one unit of product prod-1S.
- Add-Co,st~procl-ISJ, additional cost to manufacture one unit of product prod-
IS.
Maximal-Time-To-Shipping, the maximal number of days until an ordered package
is
shipped.
~ Profit-Margin-Scale, described as:
- Revenue-Bound~IJ -> Min-Profit-Margin~IJ,
-
- Revenue-Bound~mJ -> Min-Profit-Margin~mJ. (Profit margin defined as
profitlcost =
where profit = revenue - cost sought for a certain revenue).
Profit-Margin-Scale, described as:
- Revenue-Bound~lJ -> Min-Profit-Margin~IJ,
-
Revenue-Bound~mJ -> Min-Profit-Margin~mJ. (Profit margin sought for a certain
revenue range)
~ Objective of the trade, which is a selection of one of the following:
- Maximal profit, the trader wants to achieve maximum profit.
- Maximal revenue, the trader wants to achieve maximum revenue.
Output (425):
A constructed ATS, which includes:
~ Give-Item-Entries.
18
CA 02390205 2002-05-02
N'() (11/3340() 1'("1'/lf~U(I/3(1321
~ 7ul;e-pent-l.~ttlrics.
~ ~ ~ottstrctinls:
- Variables (unknowns).
- Constraint Expressions.
~ Objective (includes objective function and indication whether minimum or
maximum is
sought).
Method Description:
The output ATS is constructed as follows:
~ Give-Item-Entries:
- Set Give-Item-Specs to the set (prod-ISl, ..., prod-ISn~ from Input.
- For each item specification prod-IS in Item-Specs of Give-Item-Entries set
its Quanti y-
Range to:
Minimal-Quantity~prod-ISJ <=Quantity~prod-ISJ <=Maximal-Quantity~prod-ISJ.
- give-money-IS, the cost for all raw materials.
~ Take-Item-Entries:
- Set Take-Item-Specs to the set (take-money prod), i.e., a singleton set that
contains the
item specification for monetary amount.
- The set mat-ISl, ..., mat-ISn}, all raw materials needed.
- Set Quantity~take-money prod) to: 0<= Quantity~take-money prod) <_
+infinity.
2o - Set Quantity~mat-ISJ to: 0<= Quantity~mat-ISJ <=+infinity, for each raw
material mat-
IS in the set mat-ISl, ..., mat-ISn~.
~ Constraints:
- Variables (unknowns):
Quantity~mat-ISJ.
~ Quantity~give-money-ISJ.
19
CA 02390205 2002-05-02
VV(> lil/334111i 1'C'1'/l1S(I(1/30321
Raw-Nlrrtorirrl-('o.st.
' Additiorrrrl-Cost.
' Cost.
' Revenue.
~ Profit.
Time-To-Shipping.
- Constraint Expression:
Cost, Raw-Mat-Cost, Additional-Cost, Revenue, Profit, Time-To-Shipping >= 0
AND
Revenue = Quantity~mone3~-ISJ AND
For all combinations that were not given as Input
Quantity~prod-IS, mat-ISJ = 0 AND
For every raw material mat-IS in mat-ISl, ..., mat-ISn~
Quantity~mat-ISJ =
Quantity(prod-ISI , mat-ISJ *Quantity~prod-ISI J+
Quantity~prod-IS2, mat-ISJ *Quantity~prod-IS2J+
+...
Quantity~prod-ISn, mat-ISJ*Quantity~prod-ISml
AND
Raw-Mat-Cost = Quantity~give-money-ISJ.
AND
Additional-Cost =
Add-Cost~prod-IsIJ*Quantity(prod-ISIJ +
... +...
Add-Cost~prod-In I J *Quantity~prod-ISnJ.
AND
CA 02390205 2002-05-02
V1'() (11/334(1U !'C'!~/l1S(10/30321
Cost -= Rwv-Mcrt-Cost -i ~lclclitionul-Cost.
AND
Revenue = Quantit~~~take-money-ISJ.
AND
Profit = Revenue - Cost. AND
(Revenue < Revenue-Bound~IJ AND
Profit >= Min-Profit-Margin~OJ*Cost) AND
(Revenue-Bound~IJ <= Revenue < Revenue-Bound~2J AND
Profit >=Min-Profit-Margin~IJ*Cost)
...OR...
(Revenue-Bound~m-IJ <= Revenue < Revenue-Bound(mJ AND
Profit >= Min-Profit-Margin(m-1J*Cost)
OR
(Revenue <= Revenue-Bound~mJ AND
Profit >=Min-Profit-Margin~mJ*Cost)
J
AND
Time-To-Shipping <= Maximal-Time-To-Shipping.
~ Objective is to maximize Revenue or Profit.
D. Surplus Seller Wizard (Fig. 4d)
Method (433) Name: Surplus Seller Wizard.
Input (431): Parameters defined by the user through a graphical user interface
as follows:
~ A set of surplus item specification ~ISl, ..., ISn J that the trader sells
(give) for a profit.
~ For each item specification IS in ~ISI, ..., ISn~:
21
CA 02390205 2002-05-02
~~() (11/33400 YCT/l1S(1(1/30321
- Urrcrntip/IS'/, tl~c quantity to sell.
- Minimal-Price-I'cr-Unit~ISJ, the minimal price per unit requested by the
trader.
~ Minintul-Price-Per-I'Trrchase, the minimal price a potential buyer is
required to offer for a
transactton to occur.
~ Maximal-Time-To-Shipping, the maximal number of days until an ordered
package is
shipped.
~ Objective of the trade, which has only one selection:
- Maximal price, the trader wants to achieve maximum price for the whole ATS.
Output (435):
to A constructed ATS, which includes:
Give-Item-Entries.
Take-Item-Entries.
Constraints:
- Variables (unknowns).
- Constraint Expressions.
Objective (includes objective function and indication whether minimum or
maximum is
sought).
Method Description:
The output ATS is constructed as follows:
2o ~ Give-Item-Entries:
- Set Give-Item-Specs to the set ~ISl, ..., ISn~ from Input.
- For each item specification IS in Item-Specs of Give-Item-Entries set its
Quantity-
Range to:
Minimal-Quantity~ISJ <= Quantity~ISJ <= Maximal-Quantity~ISJ.
~ Take-Item-Entries:
22
CA 02390205 2002-05-02
~~'() l11/334()(1 P("1./l1S(1(1/3(1321
- Set Tulco-Itonr-.Sjrc~r~,v to the set ; money-lS',~, i.c., a singleton set
that contains the item
specification for monetary amount.
- Set Quantity-Range for money-IS to:
- Minimal-Price-Per-Parrchase < = Qucrntity~money-ISJ < _ +infinity.
~ Constraints:
- Variables (unknowns):
Quantity~ISJ for each IS in Give-Item-Specs.
' Quantity~money-ISJ.
Price.
~ Minimal-Price-Per-Package. (A Package is composed of specific quantities if
items that a buyer is willing to purchase.)
Time-To-Shipping.
- Constraint Expression:
Minimal-Price-Per-Package, Price, Time-To-Shipping >= 0 AND
Minimal-Price-Per-Package =
Minimal-Price-Per-Un it~ISl J *Quantity(ISI J+
... +...
Minimal-Price-Per-Unit~ISnJ *Quantity~ISnJ.
AND
Price > = Minimal-Price-Per-Package. AND
AND
Price = Quantity~money-ISJ.
Time-To-Shipping <= Maximal-Time-To-Shipping.
~ Objective is to maximize Price.
E. Reseller Wizard (Fig. 4e)
23
CA 02390205 2002-05-02
~'~'() (il/334(10 1'C'1'/US(1()/311321
Mcthod (443) Namc: f<cscllcr Wizard.
Input (44l): Paramctcrs delincd by the user through a graphical user interface
as follows:
~ A set ~'ISI, ..., ISn,i of item specifications that the trader buys (take),
then sells (give) for
a profit.
~ For each item specification IS in (1S1, ..., ISn):
- Minimal-Quantity(ISj, the minimum quantity to sell.
- Maximal-Quantity~ISJ, the maximum quantity to sell.
- Cost-Price-Per-Unit~ISj, the price paid per unit bought.
Maximal-Time-To-Shipping, the maximal number of days until an ordered package
is
1 o shipped.
Profit-Margin-Scale, described as:
- Revenue-Bound~IJ -> Min-Profit-Marginal j,
-
Revenue-Bound~mJ -> Min-Profit-Margin~mJ.(Profit margin sought for a certain
revenue)
Objective of the trade, which is a selection of one of the following:
- Maximal profit, the trader wants to achieve maximum profit.
2o - Maximal revenue, the trader wants to achieve maximum revenue.
Output (445):
A constructed ATS, which includes:
Give-Item-Entries.
Take-Item-Entries.
~ Constraints:
24
CA 02390205 2002-05-02
~~'() ()1/334110 1'C'I~/US(10/3(1321
- I~'ariahlcs (tlnklmwl~,~~J.
- COllstl~llllll E~~JI'eSSIOIl.S.
~ Objective (includes objcctivc fLlI1Ct1011 alld indication whether minimum or
maximum is
sought).
Method Description:
The output ATS is constructed as follows:
~ Give-Item-Entries:
- Set Give-Item-Specs to the set (1S1, ..., ISn J from Input.
- For each item specification IS in Item-Specs of Give-Item-Entries set its
Quantit~~-
Range to:
~ Minimal-Quantity~ISJ <= Quantity~ISJ <= Maximal-Quantity~ISJ.
~ Take-Item-Entries:
- Set Take-Item-Specs to the set (money-IS), i.e., a singleton set that
contains the item
specification for monetary amount.
- Set Quantity-Range for money-IS to:
- 0 <= Quantity~money-ISJ <_ +infinity.
Constraints:
- Variables (unknowns):
Quantity~ISJ for each IS in Give-Item-Specs.
~ Quantity~money-ISJ.
' Cost.
Revenue.
Profit.
Time-To-Shipping.
- Constraint Expression:
CA 02390205 2002-05-02
VV() 01/33400 1'C'1'/US00/30321
Cost, Rc°m°nr« , l~rn~il. 7'inre-7~o-,S'hrj~/~in,,~ >= 0
AND
Ilevcnuc = ~>rrcrrrtiuJmorrcv-ISJ AND
Cost =
Cost-Price-Per"-Unit~IS~J *Quaratity~ISIJ+
... +...
CO.St-Pl"ZCe-Per"-Urllt~ISIJJ *Quanlity~ISnJ.
AND
Profit = Revenue - Cost. AND
(Revenue < Revenue-Bozrlld~IJ AND
Profit >= Min-Profit-Malgilz~OJ*Cost) AND
(Revenue-Bound~IJ <= Revenue < Revenue-Bourzd~2J AND
Profit > = Min-Profit-Margin(I J *Cost)
...OR...
(Revenue-Bound~m-IJ <= Revenue < Revenue-Bound~mJ AND
Profit >=Min-Profit-Malgin~m-IJ*Cost)
OR
(Revenue <= Revenue-Bound~mJ AND
Profit > = Min-Profit-Margin~mJ *Cost)
J
AND
Time-To-Shipping <= Maximal-Time-To-Shipping.
~ Objective is to maximize Revenue or Profit.
F. Simple Buy Wizard (Fig. 4f)
Method (453) Name: Simple Buy Wizard.
26
CA 02390205 2002-05-02
V1'() (11/33411(1 1'("(./l1S(1(1/30321
Input (451): Yaramcters defined by the user through a graphical user interface
as follows:
~ A set ;1S'1, IS? , ..., I,Sn,i of item spccilications that the trader wants
to buy (to take).
~ For each item specification IS in ilSl, ..., ISn;:
- Requested-Quantity~ISJ, the quantity of items to buy.
~ Maximul-Time-To-Shipping, the maximal number of days until an ordered
package is
shipped.
~ Maximal-Price, the maximum total price of the items to procure.
~ Objective of the trade, which has only one selection:
- minimal price, the buyer wants to pay the minimal price.
1o Output (455):
A constructed ATS, which includes:
Give-Item-Entries (the amount of money paid).
Take-Item-Entries (the quantity of each item to be bought).
Constraints:
- Variables (unknowns).
- Constraint Expressions.
Objective (includes objective function and indication whether minimum or
maximum is
sought).
Method Description:
2o The output ATS is constructed as follows:
Give-Item-Entries:
- Set Give-Item-Specs to the set money-IS), i.e., a singleton set that
contains the item
specification for monetary amount.
- Set Quantity-Range for money-IS to:
- 0 <= Quantity~money-ISJ <= Maximal-Total-Price
27
CA 02390205 2002-05-02
V1'() Ul/334U() YC,.I'/U5(IU/3(1321
~ 7'uko-Item-Entnic:v.,.
- Scl Tcrkc-Item-.Sj~c~os to the sct t'Ifl,...,LSn,t from Input.
- For each item specification IS in Item-Specs of Take-Item-entries set its
Qcrantitn-
Range to:
~ Reguestecl-Quarrtity~ISJ <= Quantity(ISJ <= Requested-Quantity(ISJ.
Constraints:
I~ariables (unknowns):
Quantity~money-ISJ.
Price.
~ Time-To-Shipping.
- Constraint Expression:
Price, Time-To-Shipping >= 0 AND
Price < = Minimal-Price. AND
Price = Quantity~money-ISJ.
Time-To-Shipping <= Maximal-Time-To-Shipping.
Objective is to minimize Price.
G. Simple Sell Wizard (Fig. 4g)
Method (463) Name: Simple Sell Wizard.
Input (461): Parameters defined by the user through a graphical user interface
as follows:
~ A set of item specification ~ISl, ..., ISnJ that the trader sells.
~ For each item specification IS in ~ISl, ..., ISnJ:
- Maximal-Quantity~ISJ, the maximal quantity available for sale.
Minimal-Total-Price, the minimal price a potential buyer is required to offer
for a transaction
to occur.
28
CA 02390205 2002-05-02
V1'U (11/33400 1'C'I'/L1S00/30321
~ ~tl«xinml-Tinro-7'o-~Shrjyin~. ihc maximal number of days until an ordcrcd
packa~c is
shipped.
~ Objective of the trade, which has only one selection:
- Maximal price, the trader wants to achieve maximum price for the whole ATS.
Output (465):
A constructed ATS, which includes:
~ Give-Item-Entries.
~ Take-Item-Entries.
~ Constraints:
l0 - Variables (unknowns).
- Constraint Expressions.
~ Objective (includes objective function and indication whether minimum or
maximum is
sought).
Method Description:
The output ATS is constructed as follows:
Give-Item-Entries:
- Set Give-Item-Specs to the set flSl, ..., ISnj from Input.
- For each item specification sell-IS in Item-Specs of Give-Item-Entries set
its
Quantity-Range to:
~ 0 <= Quantity~ISJ <= Maximal-Quantity~ISJ.
Take-Item-Entries:
- Set Give-Item-Specs to the set money-ISO, i.e., a singleton set that
contains the item
specification for monetary amount.
- Set Quantity-Range for money-IS to:
- 0 <= Quantity~money-ISJ <= Maximal-Total-Price
29
CA 02390205 2002-05-02
VVO 01/334(10 Y(.''I'/CIS(1(1/3(1321
~ C'onstrcrints:
- Variables (unknowns):
Quantity~ISJ for each IS in Give-Item-Specs.
s ~ Quantity~money-ISJ.
Price.
Time-To-Shipping.
- Constraint Expression:
Price, Time-To-Shipping >= 0 AND
Price = Quantity~money-ISJ.
Time-To-Shipping <= Maximal-Time-To-Shipping.
~ Objective is to maximize Price.
H. Trade In Wizard (Fig. 4h)
Method (473) Name: Trade In Wizard.
Input (471): Parameters defined by the user through a graphical user interface
as follows:
~ A set of item specification ~ buy-ISl, ..., buy-ISn) that the trader buys.
~ For each item specification buy-IS in ~ buy-ISI, ..., buy-ISn):
- Requested-Quantity~buy-ISJ, the requested quantity to buy.
~ A set of item specification sell-ISl, ..., sell-ISn) that the trader sells
~ For each item specification sell-IS in ( sell-ISl, ..., sell-ISnJ:
- Offered-Quantity~buy-ISJ, the requested quantity to sell.
~ Minimal-Money-Received. The minimal amount of money the trade wants to get,
in order to
perform a transaction.
~ Maximal-Money-Spent. The maximal amount of money the trade wants to spend,
in order to
2s perform a transaction.
CA 02390205 2002-05-02
~'V(> (11/3340(1 1'C'I~/11500/30321
~ ~)loj~ctivc> of the trade, which has only one selection:
- Muxinurl Mono n-l3ukrncc, the trader wants to achieve maximum balance
(nronea-received
- money-spent) for the whole ATS.
Output (475):
A constructed ATS, which includes:
~ Give-Item-Entries.
~ Take-Item-Entries.
Constraints:
- Variables (unknowns).
- Constraint Expressions.
Objective (includes objective function and indication whether minimum or
maximum is
sought).
Method Description:
The output ATS is constructed as follows:
~ Give-Item-Entries:
- Set Give-Item-Specs to the set sell-ISI, ..., sell-ISn~ from Input.
- For each item specification sell-IS in Item-Specs of Give-Item-Entries set
its
Quantity-Range to:
' Offered-Quantity~sell-IS <= Quantity~sell-ISJ <= Offered-Quantity(sell-ISJ.
~ 0 <=Quantity~give-money-ISJ <= Maixmal-Money-Spent.
~ Take-Item-Entries:
- Set Take-Item-Specs to the set buy-ISI, ..., buy-ISn~ from Input.
For each item specification buy-IS in Item-Specs of Take-Item-Entries set its
Quantity-Range to:
~ Requested-Quantity~buy-ISJ <= Quantity~buy-ISJ <=Requested-Quantity~buy-ISJ.
31
CA 02390205 2002-05-02
~'1'() 01/33411(1 1'C'7~/USUII/30321
- ll~linintal-ll~lonyv-lic~c~c~ivccl <=()t«rnlip/tuho-ntony~-lS/ <- +in~iniW .
C ~ottstrctints:
- fariables (unknowns):
Quantit~yISJ for each IS in Give-Item-Specs.
~ Quantity(monev-ISJ.
Price.
Time-To-Shipping.
- Constraint Expression:
Money-Received , Money-Spent , Money-Balance, Time-To-Shipping >= 0 AND
Money-Received = Quantity~take-money-ISJ AND
Money-Spent = Quantity~give-money-ISJ AND
Money-Balance = Money-Received - Money-Spent. AND
Time-To-Shipping <= Maximal-Time-To-Shipping.
Objective is to maximize Money-Balance.
The methods of Figs. 4a-4h will now be summarized with reference to Fig. 5. In
step 501,
the Web server 205 presents the trader with a user interface by sending the
appropriate HTML
code or other information to the trader's computer or other device 209. The
trader inputs the
information requested, and in step 503, the Web server 205 receives that
information. In step
505, the specifications and quantity range of the give-items are determined.
In step 507, the
2o specifications and quantity range of the take-items are determined. In step
509, the constraints
are determined. In step 511, the objective is determined. The result is a
completed ATS in step
513.
The wizards and the ATS can be stored anywhere on the system of Fig. 2.
Typically, the
wizards are stored on the Web server 205, since the trader interacts with
them, while the
completed ATS is stored on the database server 201. Also, the code for
implementing the
32
CA 02390205 2002-05-02
W() (11/334(1(1 1'("1'/ll5(I(1/3(132t
wizards can he written on the system of Fib. 2 or written elsewhere and
supplied on any suitable
computer-readable medium, such as a CI~-ROM.
While a preferred embodiment of the present invention has been set forth in
detail above,
those skilled in the art who have reviewed the present disclosure will readily
appreciate that other
embodiments can be realized within the scope of the present invention. For
example, disclosures
of certain hardware, operating systems, and other software are illustrative
rather than limiting,
as are specific numerical values. Also, while a graphical user interface has
been taught, a text-
based interface could be used instead. Therefore, the present invention should
be construed as
limited only by the appended claims.
33