PIOTR MODLIŃSKI Politechnika Warszawska Warszawa PROBLEM HARMONOGRAMOWANIA JAKO KOMBINATORYCZNA AUKCJA CZASU * Streszczenie W pracy zaproponowano metodę modelowania praktycznych problemów harmonogramowania za pomocą wielotowarowych mechanizmów rynkowych. Wprowadzona została Kombinatoryczna Aukca Czasu ako narzędzie umożliwiaące zapis zarówno prostych problemów, ak i wykorzystuących zależności pomiędzy poszczególnymi zasobami, w szczególności komplementarność i substytucyność. Przedstawiono sposób zapisu zadania harmonogramowania w sposób naturalny, pozwalaący na koncentracę na wymaganiach funkconalnych zamiast na zależnościach pomiędzy poszczególnymi zasobami. Słowa kluczowe: harmonogramowanie, aukca, aukca kombinatoryczna, zarządzanie czasem, Kombinatoryczna Aukca Czasu, KAC 1. Wprowadzenie Istniee wielka różnorodność problemów harmonogramowania procesów dyskretnych, które ze względu na całkowitoliczbowy charakter zadania są trudne do rozwiązania. Z drugie strony w wielu sytuacach są do siebie bardzo podobne, ale pewne specyficzne własności powoduą, że niemożliwe est zastosowanie algorytmów zaproektowanych dla ednego problemu do rozwiązywania innych. Wspólnym elementem zadań harmonogramowania est występowanie czasu. Czasem poawia się w postaci awne, gdzie istnieą konkretne wymagania co do terminu wykonania konkretne operaci, w innym przypadku est ukryty w ograniczeniach, kiedy czas wykonywania est dowolny, ale istnieą np. ściśle określone zasoby, których nie wolno przekroczyć (np. dostępna ilość procesorów). Niniesza praca ma na celu zaprezentowanie sposobu modelowania tego typu problemów w oparciu o aukcę kombinatoryczną specyficznych towarów par (zasób, chwila czasu). Problemy aukcyne są dobrze znane w informatyce, od lat udoskonalane są narzędzia zwiększaące zarówno efektywność ich rozwiązywania, ak i poprawiaące cechy takie, ak sprawiedliwość, zgodność motywaci itp. [2,3,7,8] Wszystkie te wyniki możliwe będą do zastosowania w rozwiązywaniu problemów harmonogramowania po przekształceniu ich do postaci aukcyne. * Praca częściowo finansowana w ramach proektu badawczego nr. NN514044438
2 Problem harmonogramowania ako Kombinatoryczna Aukca Czasu 2. Opis problemu Skoncentrumy się na dość ogólnym problemie, uszczegóławiaąc który można będzie dość do wielu istnieących modeli harmonogramowania. Zadanie polega na wyznaczeniu takiego rozdziału w czasie (i być może przestrzeni, o czym późnie) dostępnych zasobów, który zapewni zaspokoenie zapotrzebowania na poszczególne zasoby przy nalepszym ich wykorzystaniu z uwzględnieniem istnieących ograniczeń. W przypadku w którym zaspokoenie wszystkich zapotrzebowań nie est możliwe, minimalizowana est ważona liczba wymagań odrzuconych. Powyższe określenie można dopasować do praktycznie każdego zadania harmonogramowania, dzięki czemu proponowany model nie ogranicza zakresu zastosowań. Konkretne problemy tego typu są w literaturze dyskutowane, ednak są to rozwiązania specalizowane, przystosowane do konkretnego zastosowania (np. [1,5,9]) Dla ustalenia uwagi przymimy następuące założenia szczegółowe opisuące problem i przyętą terminologię: Procesorem elementarnym będę nazywał każdy zasób, który faktycznie występue w problemie. Przymimy, że zasoby te indeksowane będą przez l 1,, L { } Multiprocesorem, lub procesorem wirtualnym nazywać będziemy grupy procesorów elementarnych składaące się z pewne 1 liczby procesorów elementarnych. Ponieważ procesor wirtualny nie istniee w rzeczywistości, wykorzystanie multiprocesora należy rozumieć ako wykorzystanie dowolnego procesora elementarnego wchodzącego w ego skład. Multiprocesory indeksowane są przez λ { 1,, Λ }. Sposób grupowania procesorów elementarnych w multiprocesory określony est przez parametry α równe 1 eśli procesor l est elementem multiprocesora λ oraz 0 w przeciwnym wypadku. Maąc określone w powyższy sposób zasoby można zdefiniować rozważany system obsługi w sposób następuący: do wykonania est M operaci indeksowanych {1,..., M}, przy czym do dyspozyci est C chwil czasu indeksowanych c {1,..., C}, oraz Λ multiprocesorów indeksowanych λ {1,..., Λ}. Każda operaca zawiera N wymagań zasobowych n {1,..., N }, które spełnione muszą być ednocześnie. Wymagania zasobowe to po prostu zasób zagregowany, który może spełnić dane wymaganie i n n n n m = m, m m, gdzie: ilość zasobu niezbędna do tego celu. Określane est wektorem ( ) λ max, λ l min 1 W szczególnym przypadku z żadnego, ale w te sytuaci wymaganie korzystaące z takiego zasobu nigdy nie będzie mogło zostać spełnione, akkolwiek w pewnych specyficznych sytuacach mechanizm ten może okazać się przydatny.
Problem harmonogramowania ako Kombinatoryczna Aukca Czasu 3 n m λ {1,..., Λ}, określa multiprocesor którego dotyczy wymaganie n m min {0,..., n m max }, est minimalną ilością zasobów multiprocesora niezbędną do realizaci wymagania. Może być równa 0 eśli istniee górne ograniczenie. n n m max { m min,...}, est maksymalną ilością zasobów multiprocesora niezbędną do realizaci wymagania. Konkretna operaca może zostać przyęta do wykonania wtedy i tylko wtedy, kiedy wszystkie wymagania wchodzące w e skład są spełnione, zatem dla każde operaci mamy: n x = 1 c n { 1, N } n x m l nlc m α min gdzie: x = 1 c n { 1, N } n x m l nlc m α l l λ λ n max x est równe 1 eśli -ta operaca est przyęta, lub 0 w przeciwnym razie, x nlc est równe 1 eśli n-te wymaganie -te operaci est spełniane przez l-ty zasób w c-te chwili czasu, lub 0 w przeciwnym razie. Ponadto przymuemy założenie, że dany procesor elementarny w dane chwili może występować ako element tylko ednego multiprocesora 2. Jednocześnie może być przydzielony do nie więce niż edne operaci 3. Mamy zatem dla każdego zasobu elementarnego i dla każde chwili czasu: 1 n x nlc Każda z operaci posiada ponadto: określone ramy czasowe, w których może zostać wykonana r {1,..., C} (release time) chwila gotowości do obsługi D {1,..., C} (deadline) ostateczny termin zakończenia eśli operaca nie mieści się w powyższych ramach, est odrzucana określony czas trwania 4 p {1,..., C} 2 Nawet eśli w inne chwili traktowany est ako element innego procesora wirtualnego, to nie może spełniać ednocześnie więce niż ednego wymagania zasobowego. 3 To ograniczenie oczywiście dotyczy tylko procesorów elementarnych. Multiprocesor może ednocześnie obsługiwać wiele operaci korzystaąc z faktu, że w ego skład wchodzi wiele różnych procesorów elementarnych. 4 Dla ustalenia uwagi przymuę w początkowym etapie prac, że p = 1.
4 Problem harmonogramowania ako Kombinatoryczna Aukca Czasu określoną wagę w Celem do którego dążymy est po pierwsze doprowadzenie do sytuaci, w które wszystkie operace zostaną wykonane zgodnie z ograniczeniami 5, po drugie uwzględnianie ewentualnych preferenci dotyczących czasu wykonywania poszczególnych operaci. Zamodelowano to ako minimalizacę ważone liczby operaci odrzuconych: min ( w (1 x )) = min ( w x w ) x gdzie w to waga -te operaci. 3. Zapis w postaci Kombinatoryczne Aukci Czasu Przedstawiony w poprzednim rozdziale problem zapisać można w postaci aukci kombinatoryczne o specyficzne strukturze. W dalsze części pracy nazywana ona będzie Kombinatoryczną Aukcą Czasu (KAC). Poszczególne elementy problemu odpowiadaą niemal dokładnie analogicznym elementom opisu aukci. 3.1 Funkca celu W przypadku aukci celem est przydział dóbr maksymalizuący dobrobyt, a więc maksymalizuący sumę różnic pomiędzy cenami ofertowymi, a rozliczeniowymi przyętych ofert: of rozl min x ( w w ) x Jest to równoważne minimalizaci ważone liczby odrzuconych ofert kupna przy założeniu, że ceny ofertowe wszystkich ofert sprzedaży są równe 0 6. 3.2 Struktura oferty W modelu aukcynym poszczególne oferty odpowiadaą konkretnym operacom, które maą zostać wykonane. Opis oferty powinien odpowiadać opisowi operaci, w szczególności wszystkich związanych z nią wymagań. Przymuąc podział ofert zgodny z wykorzystywanym w modelu M 3 [4] można zauważyć, że poza specyficznymi trywialnymi przypadkami, którymi nie będziemy się tuta zamować, wszystkie interesuące nas oferty należą do grupy ofert grupuących. Jest to mechanizm pozwalaący na zapisanie ograniczeń na elementarne towary znaduące się w konkretnych wiązkach wchodzących w skład oferty. Umożliwia to zapis zależności pomiędzy towarami takich, ak substytucyność, czy komplementarność, czego dowód znaleźć można m.in. w pracy [6]. x 5 Jeśli nie est to możliwe, to doprowadzenie do sytuaci, w które odrzucone by były edynie te namnie istotne operace, a więc te, które maą namniesze wagi 6 W praktyce ceny ofert sprzedaży nie muszą być równe zero i można e wykorzystać do modelowania preferenci poszczególnych zasobów elementarnych
Problem harmonogramowania ako Kombinatoryczna Aukca Czasu 5 Warto zwrócić uwagę także na podmiot składaący ofertę. Ponieważ ak zaznaczono wcześnie, odpowiada ona operaci, która ma zostać wykonana, logiczne byłoby utożsamienie oferenta z właścicielem dane operaci. 3.3 Towary Jak zaznaczono wcześnie, towarami obracanymi na aukci są konkretne chwile poszczególnych zasobów, ednak zarówno dotyczy to zasobów elementarnych (procesorów), ak i zagregowanych (multiprocesorów). Dzięki temu możliwe est zamodelowanie nietrywialnych zależności pomiędzy nimi. Ponieważ w problemie występue ak zauważono w rozdziale 2 C chwil czasu, L procesorów elementarnych, oraz Λ multiprocesorów, w aukci będzie występowało C(L+Λ) towarów. To est górne ograniczenie oczywiście może się zdarzyć, że np. nie wszystkie multiprocesory będą wykorzystywane, wówczas nie ma potrzeby ich definiować. 4. Metody opisu ofert W ogólnym przypadku aukci kombinatoryczne naprostszym sposobem opisu est wykorzystanie edynie zasobów elementarnych. Niesie to ednak za sobą ryzyko nieprawidłowego opisu preferenci gracza choćby niemożność prostego modelowania wspomniane uż substytucyności. Konieczne byłoby wybranie a prori procesora na którym operaca będzie wykonywana 7 i zakładanie, że będzie to możliwe, względnie określenie kilku różnych ofert i liczenie się z możliwością przyęcia kilku, co pociąga za sobą koszty zablokowania pewnych zasobów, a zatem być może odrzucenia innych ofert, które mogłyby zostać przyęte. Rozwiązaniem tego problemu est wykorzystanie ofert grupuących, w których wykorzystywane są ograniczenia na poszczególne towary. Zapisywane są one w postaci pomocniczych dóbr, które specyfikowane są bezpośrednio przez oferenta. Składaąc ofertę dodawane są pewne towary wirtualne odpowiedniki multiprocesorów w problemie wyściowym, dla których opisywane są konkretne wymagania. Warto zwrócić ednak uwagę na fakt, iż w tym przypadku po pierwsze każdy z graczy definiue własny zestaw tych towarów, co utrudnia rozwiązywanie zadania, po drugie im wymagania są mnie szczegółowe, tym bardzie złożona musi być oferta 8. Istotnym est także fakt, iż tak przedstawiony model nadal nie odpowiada wymaganiom gracza, który określa wymagania w kategoriach multiprocesorów 9. Trzecim podeściem est oddzielenie opisu multiprocesorów od same oferty na wykonanie konkretne operaci. Każdy zasób zagregowany opisywany est za pomocą szeregu prostych ofert, po edne na każdy towar elementarny wchodzący w ego skład. Złożenie tych ofert może być 7 Względnie zbioru procesorów 8 Przykładowo oferta na konkretne dobro składa się z tylko z niego, oferta na dowolne dobro z pewnego zbioru wymaga wyliczenia wszystkich elementów, które mogą być wykorzystane, oraz dodania ograniczeń na wykorzystanie dokładnie ednego 9 Stwierdzenie to w żaden sposób nie ogranicza ogólności rozważań, gdyż zasób wirtualny może składać się tylko z ednego zasobu elementarnego
6 Problem harmonogramowania ako Kombinatoryczna Aukca Czasu wykonywane w sposób automatyczny przez dodatkowego gracza wprowadzonego przez operatora rynku. Maąc zdefiniowane zasoby zagregowane, poszczególne oferty odpowiadaą operacom wykonywanych na konkretnych multiprocesorach. Taki sposób zapisu est naturalny w opisie wymagań, oraz w przeciwieństwie do podeścia poprzedniego, złożoność opisu wymagania est praktycznie stała, co nawyże opis może być uproszczony z powodu braku któregoś elementu ograniczenia. 5. Wyniki KAC i drugi etap rozwiązania Wynikiem KAC nie est konkretny przydział zasobów elementarnych, chwil czasu i operaci, ale rozwiązanie problemu zrelaksowanego. W każde chwili czasu są określone procesory elementarne, które są wykorzystywane (choć nie ma informaci, do które operaci zostały przydzielone), oraz o multiprocesorach (ile procesorów elementarnych wchodzących w skład konkretnego multiprocesora zostało w dane chwili wykorzystanych). Co warte podkreślenia, nie est tu istotna wielkość uzyskanego na aukci dobrobytu (mimo, iż est ona maksymalizowana), ani tym bardzie poszczególne ceny rozliczeniowe! Celem wykorzystania mechanizmu aukcynego est zbilansowanie ilościowe poszczególnych zasobów. Po zakończeniu pierwszego etapu Kombinatoryczne Aukci Czasu cały problem rozbity zostae na szereg niezależnych chwil czasu, przy czym w każde z nich określone są przyęte oferty, wykorzystywane procesory i multiprocesory. Celem drugiego etapu est znalezienie dopuszczalnego rozwiązania łączącego wszystkie te elementy, przy czym wiadomo z góry, iż należy przydzielić wszystkie procesory elementarne, multiprocesory, oraz wszystkie operace, które są w dane chwili wykonywane. W przypadku, w którym każdy towar elementarny może być elementem tylko ednego towaru zagregowanego rozwiązanie est trywialne wystarczy po kolei przydzielać do operaci procesory w ramach poszczególnych wymagań w dowolne koleności i zawsze osiągniemy rozwiązanie dopuszczalne 10. Bardzie interesuący est przypadek w którym towary elementarne mogą reprezentować kilka różnych agregatów. W te sytuaci w ogólnym przypadku nietrywialnym zadaniem est określenie, do którego z multiprocesorów należy w dane chwili czasu przypisać konkretny procesor elementarny. W pracy [10] zaproponowano metodę rozwiązywania tego typu problemów w oparciu o przekształcenie problemu do zbioru grafów dwudzielnych, dzięki czemu w każdym przypadku możliwe est znalezienie dopuszczalnego rozwiązania, które ednocześnie est rozwiązaniem optymalnym (przynamnie w sensie Pareto). Warto zwrócić uwagę, że ze względu na całkowitą niezależność rozpatrywanych chwil czasu, zadanie drugiego etapu można niemal całkowicie zrównoleglić, co przydać się może zwłaszcza w przypadku rozwiązywania większych (o znaczne liczbie etapów) problemów. 10 Jeśli nie ma preferenci polegaących na wyborze operaci którą dany procesor ma wykonywać, a co nawyże na czas w którym ma pracować, to wszystkie rozwiązania dopuszczalne są równoważne
Problem harmonogramowania ako Kombinatoryczna Aukca Czasu 7 6. Przykłady zastosowania Zaprezentowany model wykorzystać można w bezpośredni sposób ako narzędzie do układania planu zaęć. Przymimy, że mamy dostępne trzy chwile czasu dwugodzinne okresy: t1: 8:00 10:00, t2: 10:00 12:00, t3: 12:00 14:00 Mamy dwa zespoły: zespół1, oraz zespół2, które uwzględniane są w planie. Ponadto mamy dwa rodzae zadań duże, na których wymagana est obecność obu zespołów, oraz małe, z którymi poradzi sobie poedynczy zespół. Co istotne, w przypadku małych nie est istotne, który z zespołów się nimi zamue ważne tylko, by był dokładnie eden. Każde z zadań mogą odbyć się w dowolnym z trzech proponowanych terminów, ednak w przypadku dużych preferowanym est termin pierwszy, dwa pozostałe równoważne, w przypadku małych nalepszy est termin drugi, ewentualnie trzeci, za nagorszy uważamy pierwszy. Podczas wykonywania każdego zadania musi być obecna osoba zarządzaąca. O ile w przypadku zadań dużych musi to być kierownik, o tyle w przypadku małych zarządzać może także zastępca. Ostatnim elementem est lokalizaca. Każde zadanie musi odbywać się w poedyncze sali. W przypadku zadań dużych oba zespoły mieszczą się obok siebie, ednak małe nie mogą być wykonywane przez dwa zespoły ednocześnie w te same sali, gdyż zespoły wzaemnie by sobie przeszkadzały. Mamy do dyspozyci dwie sale: sala1, oraz sala2. Ponieważ w kilku miescach występue możliwość wyboru, utworzone zostaną trzy agregaty: zespół est agregatem łączącym zespół1 oraz zespół2 zarządca agregue osoby mogące zarządzać małymi zespołami, a więc kierownika i zastępcę sala łączy dostępne pomieszczenia, a więc salę1, oraz salę2 Co warte podkreślenia, prezentowane agregaty nie są czymś sztucznym, ale naturalnym odzwierciedleniem struktury problemu. Poniże przedstawiono oferty opisuące powyższy problem, ednak ze względu na symetrię zapisu i oszczędność miesca, przedstawiony został edynie zapis dla chwili t1. Dla pozostałych wygląda analogicznie. Ponadto ze względu na czytelność podano tylko wartości niezerowe. Elementarne Tabela 1: Oferty proste wprowadzaące zasoby elementarne Zasoby Oferty ZESP1 ZESP2 SALA1 SALA2 KIER ZAST Zespół1-1 Zespół2-1 Sala1-1 Sala2-1 Kierownik -1 Zastępca -1
8 Problem harmonogramowania ako Kombinatoryczna Aukca Czasu W tabeli 1 widać po edne ofercie sprzedaży (ceny są nieistotne, dla ustalenia uwagi można przyąć, że zerowe) dla każdego zasobu elementarnego. Wolumeny są uemne dla zaznaczenia, że est to oferta sprzedaży. Tabela 2 przedstawia oferty przypisuące zasoby elementarne do zasobów zagregowanych. W powyższym przykładzie zasób elementarny est elementem dokładnie ednego agregatu, ale nie est to konieczne. Może występować więce ofert które utworzą dalsze przypisania. Poedyncza oferta polega na zakupie towaru elementarnego przy ednoczesne sprzedaży odpowiedniego wirtualnego. Tabela 3 przedstawia oferty rzeczywiste określaące wymagania. Dla zaęcia dużego wymagana est obecność ednego kierownika, edne sali, oraz dwóch zespołów. Dla zadania małego kierownik nie est potrzebny, ale potrzeba dwóch zarządców 11, do tego dwie sale i dwa zespoły. Elementarne Agr. Tabela 2: Oferty zintegrowane wprowadzaące zasoby zagregowane Zasoby Oferty ZESP1_Ze ZESP2_Ze SALA1_Sa SALA2_Sa KIER_Za ZAST_Za Zespół1 1 Zespół2 1 Sala1 1 Sala2 1 Kierownik 1 Zastępca 1 Zespół -1-1 Zarządca -1-1 Sala -1-1 Tabela 3: Oferty opisuące rzeczywiste wymagania Zasoby Oferty Zagregowane ZADANIE_DUŻE ZADANIE_MAŁE Kierownik 1 Zespół 2 2 Zarządca 2 Sala 1 2 Duże_zadanie 1 Małe_zadanie 1 11 Oczywiście ze struktury zarządców wynika, że kierownik również się do tego zbioru zalicza i w rozwiązaniu zostanie przypisany do zarządzania edną z grup, ednak nie est to częścią wymagań, toteż podczas specyfikowania oferty nie musi być zaznaczane
Problem harmonogramowania ako Kombinatoryczna Aukca Czasu 9 Tabela 4:Oferta grupuąca opisuąca duże zadanie Zasoby Oferty Ograniczenia zagregowane T1 T2 T3 Min Max Kierownik 1 1 1 Zespół 2 2 2 Zarządca Sala 1 1 1 Duże_zadanie 1 1 1 1 1 Występue tu także dodatkowy element widoczne w tabeli 4 ograniczenia. W tym przypadku est to zaznaczenie, że oferta o nazwie ZADANIE_DUŻE est przyęta pod warunkiem, że uda się przydzielić wymagane zasoby w ilości chwil czasu pomiędzy Min, a Max, czyli w tym konkretnym przypadku, że zasoby trzeba przydzielić w dokładnie edne chwili. Analogiczne ograniczenia można dodać także przy konkretnych zasobach (zarówno elementarnych, ak i zagregowanych), co pozwala na modelowanie specyficznych wymagań, np. maksymalnego dopuszczalnego obciążenia danego procesora. Rozwiązanie zaprezentowanego zadania określa w które chwili czasu zrealizowane są które z ofert, a także które zasoby (tak elementarne, ak i zagregowane) wykorzystywane są w które chwili. Ze względu na specyfikę zadania i fakt, że operace zostaną zrealizowane w różnych chwilach, pozwala to w bezpośredni sposób na określenie które z zasobów w którym momencie wykorzystywane są do realizaci które operaci. W sytuaci w które nie ma te ednoznaczności wykorzystywane est zadanie drugie fazy, które szczegółowo opisane zostanie w pracy [10]. Prezentowany model wykorzystano także do zamodelowania problemu układania planu zaęć na podstawie danych z Instytutu Automatyki i Informatyki Stosowane PW. Rozwiązanie to nadae się również do modelowania zagadnień planowania produkci zwłaszcza przy bardzie złożonych problemach, w których występuą zależności pomiędzy zasobami. 7. Literatura 1. Abdennadher S.,Schlenker H.: Nurse scheduling using constraint logic programming w: Proceedings of the National Conference on Artifical Intelligence, J. Wiley & Sons Ltd. 1999 2. Ausubel L.M. i in.: The clock-proxy auction: A practical combinatorial auction design w: Combinatorial Auctions, MIT Press, Ch. 5, 115-138, 2006 3. Groves T, Ledyard J.: Optimal allocation of public goods: A solution to the free rider problem. Econometrica, 45(4):783 809, 1977 4. Kacprzak P. i in.: Model danych dla otwartego systemu obrotu wielotowarowego M 3 w: Bazy danych. Nowe technologie. vol. 2, Bezpieczeństwo, wybrane technologie i zastosowania WKiŁ, Warszawa 2007 5. Miller H.E. i in.: Nurse scheduling using mathematical programming w: Operations Research vol. 24, JSTOR 1976 6. Modliński P.: Model M 3 a aukce kombinatoryczne, praca dyplomowa magisterska, Politechnika Warszawska, Warszawa 2008
10 Problem harmonogramowania ako Kombinatoryczna Aukca Czasu 7. Pałka P.: Analiza zgodności motywaci w rozproszonych systemach rynkowych z wykorzystaniem mechanizmów obrotu wielotowarowego, rozprawa doktorska, Politechnika Warszawska, Warszawa 2009 8. Parkes, D.C. i in.: ICE: An iterative combinatorial exchange w Proceedings of the 6th ACM Conference on Electronic Commerce, ACM 2005 9. Strevell M.W. Chong, P.S.: Gambling on vacation w: Interfaces vol. 15, JSTOR 1985 10. Modliński P.: Kombinatoryczna Aukca Czasu Struktura Zadania, materiały konferencyne XVII KKAPD, Zakopane 2010 przyęte do druku SCHEDULING PROBLEM AS THE COMBINATORIAL AUCTION OF TIME Summary In the research work there is shown a method of modelling the practical problems of schedulling using multicommodity market mechanisms. The Combinatorial Auction of Time was introduced as a tool that provides the recording of simple problems as well as these which use relations between the particular resources especially complementarity and substitutability. There is presented a way of recording the task of schedulling in natural way which enables to focus on functional requirements instead of on the relations between the particular resources. Keywords: scheduling, auction, combinatorial auction, time management, Combinatorial Auction of Time, CAT PIOTR MODLIŃSKI Instytuca: Politechnika Warszawska, Instytut Automatyki i Informatyki Stosowane e-mail: p.modlinski@ia.pw.edu.pl http://www.ia.pw.edu.pl