ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2006 Seria: AUTOMATYKA z. 145 Nr kol. 1728

Podobne dokumenty
WYBRANE PROBLEMY AUKCJI I PRZETARGÓW KOMBINATORYCZNYCH

WYZNACZANIE CECH PUNKTOWYCH SYGNAŁÓW POMIAROWYCH

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 4 Ćwiczenia w narzędziu CASE diagram czynności. Materiały dla studenta

Kolejkowanie. Graf sekwencyjny. Graf sekwencyjny: biegunowy, acykliczny Graf acykliczny to graf nie zawierający cykli G(V,E)

OPTYMALIZACJA HARMONOGRAMOWANIA MONTAŻU SAMOCHODÓW Z ZASTOSOWANIEM PROGRAMOWANIA W LOGICE Z OGRANICZENIAMI

OPTYMALNA ALOKACJA OBIEKTÓW Z WYKORZYSTANIEM ALGORYTMÓW EWOLUCYJNYCH

FOLIA POMERANAE UNIVERSITATIS TECHNOLOGIAE STETINENSIS Folia Pomer. Univ. Technol. Stetin. 2009, Oeconomica 275 (57), 53 58

Załącznik KARTA PRZEDMIOTU. KARTA PRZEDMIOTU Wydział Automatyki, Elektroniki i Informatyki, Rok akademicki: 2009/2010

1 Programowanie całkowitoliczbowe PLC

Algorytm hybrydowy dla alokacji portfela inwestycyjnego przy ograniczonych zasobach

Programowanie deklaratywne

CLP Programowanie logiczne z ograniczeniami.

WYKŁAD. Jednostka prowadząca: Wydział Techniczny. Kierunek studiów: Elektronika i telekomunikacja. Nazwa przedmiotu: Język programowania C++

POWSZECHNE KRAJOWE ZASADY WYCENY (PKZW)

Kontrakty zakupowe. PC-Market

DOBÓR ŚRODKÓW TRANSPORTOWYCH DLA GOSPODARSTWA PRZY POMOCY PROGRAMU AGREGAT - 2

Przeszukiwanie z nawrotami. Wykład 8. Przeszukiwanie z nawrotami. J. Cichoń, P. Kobylański Wstęp do Informatyki i Programowania 238 / 279

KONTROLING I MONITOROWANIE ZLECEŃ PRODUKCYJNYCH W HYBRYDOWYM SYSTEMIE PLANOWANIA PRODUKCJI

Specyfikacja zadania informatycznego nr 1

Modelowanie przy uŝyciu arkusza kalkulacyjnego

Układy równań liniowych. Ax = b (1)

PODSTAWY SZTUCZNEJ INTELIGENCJI

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

PRZEWODNIK PO PRZEDMIOCIE

Metodyki i techniki programowania

Krzysztof T. Psurek Politechnika Śląska Wydział Organizacji i Zarządzania

Systemy liczenia. 333= 3*100+3*10+3*1

Laboratorium przedmiotu Technika Cyfrowa

Elementy Modelowania Matematycznego Wykład 7 Programowanie nieliniowe i całkowitoliczbowe

K.Pieńkosz Badania Operacyjne Wprowadzenie 1. Badania Operacyjne. dr inż. Krzysztof Pieńkosz

INWENTARYZACJA W PROGRAMIE INTEGRA

ANALIZA HIERARCHICZNA PROBLEMU W SZACOWANIU RYZYKA PROJEKTU INFORMATYCZNEGO METODĄ PUNKTOWĄ. Joanna Bryndza

LABORATORIUM Systemy teletransmisji i transmisja danych

Karta (sylabus) przedmiotu

Katedra Informatyki Stosowanej. Algorytmy ewolucyjne. Inteligencja obliczeniowa

Współpraca Integry z programami zewnętrznymi

BADANIA OPERACYJNE i teoria optymalizacji. Prowadzący: dr Tomasz Pisula Katedra Metod Ilościowych

Prezydent Miasta Radomia ogłasza nieograniczony przetarg ofertowy na sprzedaŝ nieruchomości stanowiących własność Gminy Miasta Radomia

Rachunkowość. Decyzje zarządcze 1/58

Programowanie deklaratywne

Spis treści. spis treści wygenerowany automatycznie

XII. Warunek wielokrotnego wyboru switch... case

Komputeryzacja w zarządzaniu

INSTRUKCJA INWENTARYZACJI

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Analiza stanów gry na potrzeby UCT w DVRP

Sprzęt komputera - zespół układów wykonujących programy wprowadzone do pamięci komputera (ang. hardware) Oprogramowanie komputera - zespół programów

Jednostki informacji. Bajt moŝna podzielić na dwie połówki 4-bitowe nazywane tetradami (ang. nibbles).

Metodyki i techniki programowania

PRZEWODNIK PO PRZEDMIOCIE

KOMPUTEROWE WSPOMAGANIE ZARZĄDZANIA PROJEKTAMI W PRZEDSIĘBIORSTWIE

WYKORZYSTANIE NARZĘDZIA Solver DO ROZWIĄZYWANIA ZAGADNIENIA Problem przydziału

Systemy rozgrywek sportowych OGÓLNE ZASADY ORGANIZOWANIA ROZGRYWEK SPORTOWYCH

LICZNIKI Liczniki scalone serii 749x

KONKURENCJA DOSKONAŁA. dr Sylwia Machowska

Cele polityki cenowej

[1] E. M. Reingold, J. Nievergelt, N. Deo Algorytmy kombinatoryczne PWN, 1985.

WSPÓŁCZYNNIK GOTOWOŚCI SYSTEMU LOKOMOTYW SPALINOWYCH SERII SM48

PRZEWODNIK PO PRZEDMIOCIE

System Wspierania Zakupów. ZGH Bolesław S.A.

REGULAMIN ŚWIADCZENIA USŁUG ON-LINE

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE

Automatyka Treść wykładów: Literatura. Wstęp. Sygnał analogowy a cyfrowy. Bieżące wiadomości:

Zagadnienia optymalizacji Problems of optimization

Wyznaczanie symulacyjne granicy minimalnej w portfelu Markowitza

PoniŜej zamieszczone są rysunki przedstawiane na wykładach z przedmiotu Peryferia Komputerowe. ELEKTRONICZNE UKŁADY CYFROWE

Komunikator internetowy w C#

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Instrukcja zmian w wersji Vincent Office

Podstawy ekonomii ELASTYCZNOŚCI W EKONOMII

PRZEWODNIK PO PRZEDMIOCIE

NEURAL NETWORK ) FANN jest biblioteką implementującą SSN, którą moŝna wykorzystać. w C, C++, PHP, Pythonie, Delphi a nawet w środowisku. Mathematica.

Program 14. #include <iostream> #include <ctime> using namespace std;

Metody numeryczne. Instytut Sterowania i Systemów Informatycznych Wydział Elektrotechniki, Informatyki i Telekomunikacji Uniwersytet Zielonogórski

Platforma Aukcyjna Marketplanet. Podręcznik Oferenta. Aukcje jedno- i wielopozycyjne

Programowanie obiektowe zastosowanie języka Java SE

Laboratorium modelowania oprogramowania w języku UML. Ćwiczenie 6 Modelowanie przypadków uŝycia i czynności. Materiały dla studentów

Typowe błędy w analizie rynku nieruchomości przy uŝyciu metod statystycznych

ZESPÓŁ SZKÓŁ NR 9. Projekt lokalnej sieci komputerowej zapewniającej dostęp do Internetu.

PRZEDMIOTOWY SYSTEM OCENIANIA. z przedmiotu. Programowanie strukturalne i obiektowe. dla technikum informatycznego

Załącznik Nr 5 do Zarz. Nr 33/11/ Kod przedmiotu:aisd2

KOMBINATORYKA OBIEKTY KOMBINATORYCZNE MATEMATYKA DYSKRETNA (2014/2015)

PRZEWODNIK PO SERWISIE BRe BROKERS Rozdział 3

Zamienniki towarów 1/5. Program Handel Premium

ACCOUNTICA Miesięcznik

Plan wykładu. Architektura systemów komputerowych. MnoŜenie realizacja sprzętowa (wersja 1) Układy mnoŝące liczby całkowite.

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Internetowy moduł prezentacji WIZYT KLIENTA PUP do wykorzystania np. na stronie WWW. Wstęp

Jak rozgrywać turnieje tenisowe?

FAQ: /PL Data: 26/11/2008 Komunikacja w protokole MPI za pomocą Global Data (GD) pomiędzy sterownikami S7-300

Wprowadzenie do Prologa

BeamYourScreen Bezpieczeństwo

WPROWADZENIE DO SZTUCZNEJ INTELIGENCJI

KaŜdemu atrybutowi A przyporządkowana jest dziedzina Dom(A), czyli zbiór dopuszczalnych wartości.

Opis przedmiotu. Karta przedmiotu - Badania operacyjne Katalog ECTS Politechniki Warszawskiej

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

podać definicję metody zachłannej stosowaną w algorytmice; wymienić cechy algorytmów zachłannych;

OGŁOSZENIE O PRZETARGU NIEOGRANICZONYM (wartość mniejsza od EURO)

Transkrypt:

ZESZYTY NAUKOWE POLITECHNIKI ŚLĄSKIEJ 2006 Seria: AUTOMATYKA z. 145 Nr kol. 1728 Tomasz TATOŃ Studium Doktoranckie Informatyki Wydział Automatyki, Elektroniki i Informatyki Politechnika Śląska e-mail tomasz.taton@polsl.pl ZASTOSOWANIE PROGRAMOWANIA OGRANICZENIOWEGO W LOGICE DLA PROBLEMU AUKCJI KOMBINATORYCZNYCH Streszczenie. Artykuł przedstawia główne załoŝenia aukcji kombinatorycznej. Umieszczono w nim opis modelu matematycznego dla aukcji kombinatorycznej wielu jednostek wielu towarów. Przedstawiono rozwiązanie problemu w CHIP ie za pomocą programowania ograniczeniowego w logice. Rozwiązanie to zilustrowano na konkretnym przykładzie oraz omówiono otrzymane wyniki. Autor zwraca uwagę na zagadnienia ograniczeń występujących w aukcjach kombinatorycznych, a w szczególności ograniczeń komplementarnych i substytucyjnych. CONSTRAINT LOGIC PROGRAMMING FOR A COMBINATORIAL AUCTION Summary. A combinatorial auction problem is formulated and solved using constraint logic programming in CHIP. Building of own declarative application, pointing out the optimum combination of bids in multi-unit combinatorial auction has been discused in detail. The received results were introduced the concrete example of auction, and talked over 1. Wprowadzenie Aukcja jest to zorganizowana forma sprzedaŝy. Celem przeprowadzenia aukcji jest uzyskanie maksymalnego zysku ze sprzedaŝy oferowanych towarów. Przedmiotem aukcji mogą być dowolne towary lub usługi oferowane przez agenta lub agentów prowadzących aukcję. Uczestnicy aukcji (ang. bidders) mogą składać oferty cenowe na poszczególne towary lub na dowolnie konfigurowane zbiory tych towarów. Wartość cenowa takich zbiorów towarów moŝe róŝnić się od sumy wartości poszczególnych jego elementów składowych. WyróŜnić moŝna wiele rodzajów

T. Tatoń aukcji, najbardziej znane aukcje jawne, w których proponowane ceny wszystkich uczestników są znane oraz aukcje niejawne, w których uczestnicy składają kopertowe, nie znane innym uczestnikom oferty cenowe. Najpopularniejsze aukcje jawne to aukcja angielska i aukcja duńska. RóŜnią się one tym, Ŝe w aukcji angielskiej cena wywoławcza jest stopniowo podwyŝszana przez uczestników aukcji aŝ do momentu, gdy pozostanie jedna osoba licytująca, natomiast w aukcji duńskiej początkowa cena wywoławcza jest duŝo wyŝsza od cen ofertowych, a następnie cena ta jest stopniowo obniŝana aŝ do momentu, gdy jeden z uczestników aukcji zgodzi się na aktualnie proponowaną cenę. Aukcje podzielić moŝna równieŝ ze względu na wystawione na niej zasoby towarów wyróŝnić moŝemy aukcje jednostkowe wielu towarów (ang. single-unit combinatorial auction) oraz aukcje wielu jednostek wielu towarów (ang. multi-unit combinatorial auction). Badania nad problemem aukcji jako pierwszy rozpoczął w 1961 roku William Spencer Vickrey[14] późniejszy laureat nagrody Nobla (1996r.). Teoria aukcji[5] od kilkunastu lat bardzo dynamicznie rozwija się. Przykładami tego mogą być między innymi prace: podział częstotliwości radiowej[1], sprzedaŝ ropy naftowej[11], rynek nieruchomości[11], rynek energii elektrycznej[13]. W mojej pracy chcę przedstawić metodę rozwiązywania problemu aukcji kombinatorycznych wielu jednostek wielu towarów z zastosowaniem ograniczeń komplementarnych i substytucyjnych przy pomocy programowania ograniczeniowego w logice. 2. Aukcja kombinatoryczna wielu jednostek wielu towarów model matematyczny Omawiane zagadnienie aukcji kombinatorycznej wielu jednostek wielu towarów jest kombinatorycznym problemem decyzyjnym dającym się opisać za pomocą zmiennych dyskretnych przyjmujących wartości 0 dany zbiór towarów oferty zostaje odrzucony, 1 dany zbiór towarów oferty zostaje przyjęty. Wyznaczenie kombinacji ofert maksymalizującej funkcję celu jest w ogólnym przypadku zagadnieniem NP-trudnym. Stosowane oznaczenia: Zbiór nazw T = T, T,..., T,..., T } jest i-tą zgłoszoną ofertą kupna, jest on i { i1 i2 il ili podzbiorem wszystkich zgłoszonych ofert kupna, oznaczonym symbolem OFERTY, T i OFERTY. T il jest nazwą l-tego towaru w i-tej ofercie. JeŜeli dowolna oferta ma zawierać więcej niŝ jedną jednostkę tych samych towarów, to kaŝdy z tych towarów powinien występować w oddzielnej ofercie T i. WiąŜe się to ze sposobem rozwiązania problemu (pkt4.). L i jest liczbą wszystkich towarów w ofercie T i. Zbiór liczb naturalnych C = C, C,..., C,..., C } jest zbiorem cen w ofercie T i. Cena l-tego towaru z i-tej i { i1 i2 il ili oferty określa maksymalną cenę zgłoszoną przez kontrahenta i jest ona oznaczona symbolem C il. Zbiór ofert T i będziemy nazywać optymalnym rozwiązaniem aukcji kombinatorycznej, jeŝeli odpowiadająca jej wartość C i będzie maksymalną ceną uzyskaną ze sprzedaŝy

Zastosowanie programowania ograniczeniowego... dla wszystkich moŝliwych ofert ze zbioru OFERTY, a takŝe zbiór T i spełni następujące ograniczenia: a) zbilansowanie ofert maksymalizujących funkcję celu: Li max Cil X i Ti OFERTY (1) l = 1 gdzie X i jest i-tą decyzją przyjęcia lub odrzucenia i-tej oferty X {0,1 }, b) ograniczenia substytucyjne ofert: X X,..., X m,..., X 1 (2) 1 2 M = gdzie: M jest liczbą ofert substytucyjnych, c) ograniczenia komplementarne: X 1 X 2,..., X l,..., X L = Y (3) gdzie: Y jest dostępną liczbą jednostek towaru i. i 3. Ograniczenia Występujące ograniczenia w omawianym problemie aukcji kombinatorycznych moŝemy podzielić na: a) Ograniczenie ofert wykluczających się, to znaczy takich, które zawierają te same towary lub usługi. Przyjęcie jednej z ofert, zawierającej pewien towar skutkuje tym, Ŝe nie moŝe zostać przyjęta Ŝadna inna oferta, zawierająca dany towar o ile liczba dostępnych jednostek danego towaru równa jest 1. b) Kolejnym ograniczeniem jest niepodzielność ofert. Ograniczenie to bezpośrednio wiąŝe się z zagadnieniem komplementarności oznacza to, Ŝe nie moŝna dzielić na oferty jednostkowe wielu towarów otrzymanych ofert kupna, zawierających więcej niŝ jeden towar, a więc ofert wielu towarów. Otrzymana oferta musi zostać rozpatrzona jako całość. W przykładzie (pkt5.) przedstawiono ograniczenia ofert komplementarnych, zawierających dwa towary. c) Ostatnim typem ograniczeń są ograniczenia substytucyjne. Mówią one o tym, Ŝe osoba biorąca udział w aukcji i składająca pewne oferty kupna moŝe zastrzec sobie chęć kupna tylko jednej z przesłanych ofert. Przykładem moŝe być zgłoszenie na aukcję cen dwóch ofert (pkt.5 ograniczenie c) i zastrzeŝenie, Ŝe jesteśmy zainteresowani kupnem dowolnej, ale tylko jednej z nich.

T. Tatoń 4. Rozwiązanie problemu aukcji kombinatorycznych wielu jednostek wielu towarów przy pomocy programowania ograniczeniowego w logice Programowanie ograniczeniowe w logice jest programowaniem deklaratywnym, w którym występuje brak algorytmu rozwiązania, a dokładny opis problemu jest jego rozwiązaniem. Otrzymanie rozwiązania problemu odbywa się poprzez badanie ograniczeń i zaleŝności logicznych modelu. Kompletny kod źródłowy aplikacji wyznaczającej kombinację ofert maksymalizującą funkcję celu, przy uwzględnieniu dodatkowych ograniczeń komplementarnych i substytucyjnych dla aukcji kombinatorycznej wielu jednostek, wielu towarów został umieszczony poniŝej. Program został napisany dla środowiska CHIP v5.2, a prezentowane dane w kodzie źródłowym są zgodne z treścią przykładu (pkt.5). Program rozpoczyna się od deklaracji zmiennych i domen. Domena Decyzje zawiera zmienne D1,D2,,D8. Reprezentują one decyzje binarne przyjęcia lub odrzucenia otrzymanych w wyniku ogłoszenia aukcji ofert zakupu. Numer w nazwie zmiennej określa numer oferty. Decyzje=[D1,D2,D3,D4,D5,D6,D7,D8], Decyzje::0..1, X::0..1000, Zysk::0..1000, W następnym kroku widnieje deklaracja wszystkich aktywnych ograniczeń. Zostały one zapisane jako oferty wykluczające się. Przykładem takiego ograniczenia moŝe być zapis D1+D5+D6+D8#=2 z którego moŝna się dowiedzieć, Ŝe oferty D1( A ) i D5( A,B ) i D6( A,D ) i D8( A,B,C ) zawierają towar wykluczający się. Liczba 2 oznacza, Ŝe są dostępne dwie jednostki wykluczającego się w tych ofertach towaru ( A ) w związku z czym mogą zostać przyjęte tylko dwie z czterech ofert. W taki sam sposób moŝemy zapisywać ograniczenia ofert substytucyjnych, na przykład D1+D4#=1 oznacza, Ŝe z ofert D1 i D4 moŝe zostać przyjęta tylko jedna. D1+D5+D6+D8 #= 2, D2+D5+D7+D8 #= 1, D3+D7+D8 #= 2, D4+D6 #= 1, D1+D4 #= 1, D2+D3 #= 1, Funkcja celu o nazwie Zysk została zapisana jako suma poszczególnych iloczynów otrzymanych w ofertach cen i wartości decyzji. Zysk #= 4*D1+3*D2+5*D3+4*D4+8*D5+9*D6+8*D7+11*D8, Optymalizacja i wyznaczenie rozwiązania generowane jest przez standardowy predykat min_max, a na koniec wypisanie wyników.

Zastosowanie programowania ograniczeniowego... X + Zysk #= 1000, min_max(labeling(decyzje),x), writeln(decyzje), write('zysk maksymalny: '), write(zysk). Podczas wykonywania optymalizacji wykonywane zostaje równieŝ ukonkretnienie wartości zmiennych domeny Decyzje przez predykat labeling. labeling([h T]):- indomain(h), labeling(t). labeling([]). Omawianą aplikację rozwiązującą problem aukcji kombinatorycznych wielu jednostek wielu towarów. MoŜna ją zastosować wszędzie tam, gdzie mamy do czynienia ze sprzedaŝą towarów w formie aukcyjnej. Prosta budowa i duŝa moŝliwość konfiguracji, a takŝe moŝliwość implementacji dodatkowych ograniczeń komplementarnych i substytucyjnych sprawia, Ŝe rozwiązanie to jest uniwersalne. Dostosowanie programu do rozwiązania innego problemu aukcji sprowadza się tylko do zmiany ograniczeń poprzez odpowiednią budowę modelu oraz zmiany wartości w funkcji celu. 5. Przykład Ogłoszono aukcje na następujące towary: towar A w liczbie dwóch jednostek, towar B w liczbie jednej jednostki, towar C w liczbie dwóch jednostek, towar D w liczbie jednej jednostki, Otrzymane oferty kupna przedstawiono w (tabela1). NaleŜy wyznaczyć oferty, których sprzedaŝ przyniesie maksymalny zysk przy spełnieniu następujących ograniczeń: a) otrzymane oferty kupna są niepodzielne, b) kaŝda z ofert (tabela1) zawiera chęć kupna pojedynczej lub pojedynczych jednostek towarów, c) uczestnik aukcji zgłaszający oferty numer 1 i 4 poinformował, Ŝe jest zdecydowany kupić tylko jedną z tych ofert, uczestnik aukcji zgłaszający oferty numer 2 i 3 poinformował, Ŝe jest zdecydowany kupić tylko jedną z tych ofert.

T. Tatoń Tabela 1. Dane Nr. oferty Nazwy towarów w ofercie Proponowana cena 1 A 4 2 B 3 3 C 5 4 D 4 5 A,B 7 6 A,D 9 7 B,C 8 8 A,B,C 11 W wyniku działania aplikacji opisanej w (pkt.4) otrzymano wyniki przedstawione w (tabela2). Wygenerowana kombinacja ofert spełnia wszystkie postawione ograniczenia, suma cen uzyskanych z ich sprzedaŝy wynosi 26. Jest to optymalna kombinacja maksymalizująca funkcję celu (zysk ze sprzedaŝy towarów) przy postawionych w treści zadania ograniczeniach. W tym miejscu warto zwrócić uwagę na fakt, Ŝe otrzymane rozwiązanie zgodne jest z ograniczeniami komplementarnymi i substytucyjnymi. Tabela 2. Otrzymane wyniki Nr. oferty Nazwy towarów w ofercie Przyjęte ceny 1 A 4 3 C 5 6 A,D 9 7 B,C 8 Omawiane rozwiązanie jest rozwiązaniem charakterystycznym ze względu na fakt, Ŝe zawiera ono wszystkie towary wraz z odpowiadającymi im liczbami jednostek. UmoŜliwia ono zatem sprzedaŝ wszystkiego, co zostało na aukcji wystawione. W praktyce nie zawsze jest to moŝliwe - wiąŝe się to z podaŝą i popytem na dany towar, a takŝe innymi czynnikami ekonomicznymi, a nie z kombinatoryką i programowaniem ograniczeniowym w logice. 6. Wnioski Znane rozwiązywania problemu aukcji kombinatorycznych opierają się o algorytmy dokładne takie jak CASS i VSA[3], CAMUS[4] lub algorytmy przybliŝone zmiennego przeszukiwania lokalnego (VNS)[2]. Deklaratywność i brak algorytmu w programowaniu ograniczeniowym w logice umoŝliwia tworzenie bardzo efektywnych aplikacji rozwiązujących wiele problemów kombinatorycznych, w tym omówiony problem aukcji kombinatorycznych. Omawiane w (pkt.3) ograniczenia substytucyjne i komplementarne doskonale dają się implementować w napisaną aplikację (pkt.4). Prostota tej aplikacji zaskakuje, krótki zwięzły kod źródłowy programu nie stwarza problemu w jego zrozumieniu, a łatwa i prosta implementacja zmian danych powodują, Ŝe moŝna ją skonfigurować dla dowolnej aukcji kombinatorycznej wielu jednostek wielu towarów. Zaproponowane przeze mnie

Zastosowanie programowania ograniczeniowego... rozwiązanie znacznie ogranicza czas potrzebny na wyznaczenie rozwiązania dzięki wbudowanym w kompilatorze języka Chip heurystykom (Looking Ahead, Forward Checking). Zastosowanie w aplikacji standardowego predykatu min_max umoŝliwia ciągłą obserwację procesu wyznaczania optymalnego rozwiązania. Dzięki temu w przypadku bardzo duŝej liczby sprzedawanych towarów i ofert złoŝonych na aukcji osoba decydująca o końcowym przyjęciu kombinacji ofert moŝe nie czekać na otrzymanie optymalnego wyniku końcowego lecz zdecydować się na przyjęcie rozwiązania pośredniego. LITERATURA: 1. Cramton P., Shoham Y., Steinberg R.: Combinatorial Auctions, MIT Press, 2006. 2. Fleszar K., Toczyłowski E.: Algorytmy przybliŝonego rozwiązywania problemu aukcji kombinatorycznej. Materiały XV krajowej konferencji automatyki, Warszawa 2005. 3. Fujishima Y., Leyton-Brown K., Shoham Y.: (1999) Taming the computational complexity of combinatorial auctions: Optimal and approximate approaches. http://robotics.stanford.edu/~kevinlb/cass_vsa.pdf 4. Leyton-Brown K., Shoham Y., Tennenholtz M.: (2000) An algorithm for multi-unit combinatorial auctions. http://www.cs.ubc.ca/~kevinlb/publications.html 5. Leyton-Brown K.: (2001) Auctions, Auction Theory, and Hard Computational Problems in Auctions. http://www.cs.ubc.ca/~kevinlb/publications.html 6. Lipski W.:Kombinatoryka dla programistów. WNT, Warszawa 2004. 7. Niederliński A.: Constraint logic programming - from Prolog to Chip, Proceedings of the PDC'99 Workshop on Constraint Programming for Decision and Control. Wydawnictwo Pracowni Komputerowej Jacka Skalimierskiego, Gliwice 1999, 27-34. 8. Niederliński A.: A Tutorial CLP Example In CHIP. Proceedings of the CPDC'2003 Workshop on Constaint Programming for Decision and Control. Wydawnictwo Pracowni Komputerowej Jacka Skalimierskiego, Gliwice 2003, 31-34. 9. Nissan N.: (2000) Bidding and allocation in combinatorial auction. http://www.cs.huji.ac.il/~noam/mkts.html 10. Parkes D.K.: (2001) Iterative combinatorial auctions: achieving economic and computational efficiency. PhD Dissertation, http://www.eecs.harvard.edu/~parkes/ 11. Scharge L.: (2001) Solving Multi-object Auctions with LP/IP. http://www.lindo.com/library/mauction.pdf 12. Sysło M.M., Deo N., Kowalik J.S.: Algorytmy optymalizacji dyskretnej. Wydawnictwo Naukowe PWN, Warszawa 1995. 13. Toczyłowski E.: Optymalizacja procesów rynkowych przy ograniczeniach. Akademicka Oficyna Wydawnicza EXIT, Warszawa 2002.

T. Tatoń 14. Vickrey W. (1961) Counterspeculations, auctions, and competitive sealed tenders. Journal of Finance, 16, 8 37. Podziękowania Autor chciałby podziękować Prof. A. Niederlińskiemu za pomoc przy opracowaniu tego artykułu. Recenzent: Prof. dr hab. inŝ. Zbigniew Banaszak Abstract: The combinatorial multi-auction problem has been formulated as an combinatorial optimization problem. It has been shown how to formulate and solve it using a constraint logic approach as implemented in the CHIP programming environment. The solution has been illustrated with an example. Particular attention has been drawn to the problem of constraints present in combinatorial auction, particularly to complementary constraints and substitutive constraints.