(57)【特許請求の範囲】
【請求項１】
販売可能個数ｓの商品を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理方法であって、
（ａ）取引を希望する前記商品の最小数量ｌｋ、最大数量ｈｋおよび取引個数がｘ（ｘは自然数）の場合の評価額ｅｋ（ｘ）を含むビッドｂｋを受け取るステップと、
（ｂ）受け取った前記ビッドｂｋを要素とし大きさが前記ビッドｂｋの数ｎであるビッド集合Ｂ＝｛ｂｋ｜ｋ＝１，２，・・・，ｎ｝を生成するステップと、
（ｃ）前記ビッドｂｋに関する指標をｋ（ｋ＝１，２，・・・，ｎ＋１）、前記商品の数に関する指標をｊ（ｊ＝０，１，・・・，ｓ）とする大きさ（ｎ＋１）×（ｓ＋１）の２次元配列Ｖ（ｋ，ｊ）をメモリ領域に割り当てるステップと、
（ｄ）前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｋ＝ｎ＋１でありｊ＝０〜ｓの各要素（Ｖ（ｎ＋１，０）〜Ｖ（ｎ＋１，ｓ））に０を代入し、前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｊ＝ｓでありｋ＝１〜ｎの各要素（Ｖ（１，ｓ）〜Ｖ（ｎ，ｓ））にＶ（ｎ＋１，ｓ）の値を代入して前記２次元配列Ｖ（ｋ，ｊ）を初期化するステップと、
（ｅ）ｋにｎを、ｊにｓ−１を代入するステップと、
（ｆ）Ｖ（ｋ＋１，ｊ）、Ｖ（ｋ，ｊ＋１）、および、（ｌｋ≦ｘ≦ｈｋ）の条件を満たすｘの範囲内においてその値が最大となるＶ（ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）の３つの値のなかから最大となる値をＶ（ｋ，ｊ）に代入するステップと、
（ｇ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｆ）のステップを繰り返すステップと、
（ｈ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｆ）および（ｇ）のステップを繰り返すステップと、
（ｉ）Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＶ（１，０）となる部分集合を確定するステップと、
を有する情報処理方法。
【請求項２】
前記商品の評価額ｅｋ（ｘ）は、前記取引個数ｘに対して非線形関数である請求項１記載の情報処理方法。
【請求項３】
販売可能個数ｓの商品を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理方法であって、
（ａ）取引を希望する前記商品の最小数量ｌｋ、最大数量ｈｋおよび商品１個当たりの評価額ｅｋを含むビッドｂｋを受け取るステップと、
（ｂ）受け取った前記ビッドｂｋを要素とし大きさが前記ビッドｂｋの数ｎであるビッド集合Ｂ＝｛ｂｋ｜ｋ＝１，２，・・・，ｎ｝を生成するステップと、
（ｃ）前記ビッドｂｋに関する指標をｋ（ｋ＝１，２，・・・，ｎ＋１）、前記商品の数に関する指標をｊ（ｊ＝０，１，・・・，ｓ）とする大きさ（ｎ＋１）×（ｓ＋１）の２次元配列Ｖ（ｋ，ｊ）およびＱ（ｋ，ｊ）をメモリ領域に割り当てるステップと、
（ｄ）前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｋ＝ｎ＋１でありｊ＝０〜ｓの各要素（Ｖ（ｎ＋１，０）〜Ｖ（ｎ＋１，ｓ））に０を代入し、前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｊ＝ｓでありｋ＝１〜ｎの各要素（Ｖ（１，ｓ）〜Ｖ（ｎ，ｓ））にＶ（ｎ＋１，ｓ）の値を代入して前記２次元配列Ｖ（ｋ，ｊ）を初期化するステップと、
（ｄ２）前記２次元配列Ｑ（ｋ，ｊ）の要素のうちｋ＝ｎ＋１でありｊ＝０〜ｓの各要素（Ｑ（ｎ＋１，０）〜Ｑ（ｎ＋１，ｓ））に０を代入し、前記２次元配列Ｑ（ｋ，ｊ）の要素のうちｊ＝ｓでありｋ＝１〜ｎの各要素（Ｑ（１，ｓ）〜Ｑ（ｎ，ｓ））にＱ（ｎ＋１，ｓ）の値を代入して前記２次元配列Ｑ（ｋ，ｊ）を初期化するステップと、
（ｅ）ｋにｎを、ｊにｓ−１を代入するステップと、
（ｆ）Ｖ（ｋ＋１，ｊ）、Ｑ（ｋ，ｊ＋１）＝ｈｋの条件を満たす場合のＶ（ｋ，ｊ＋１）、ｌｋ≦Ｑ（ｋ，ｊ＋１）＜ｈｋの条件を満たす場合のＶ（ｋ，ｊ＋１）＋ｅｋ、および、Ｖ（ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの４つの値のなかから最大となる値をＶ（ｋ，ｊ）に代入するステップと、
（ｆ２）Ｖ（ｋ，ｊ）＝Ｖ（ｋ，ｊ＋１）＋ｅｋの条件を満たす場合にはＱ（ｋ，ｊ＋１）＋１の値を、Ｖ（ｋ，ｊ）＝Ｖ（ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの条件を満たす場合にはｌｋの値を、その他の場合にはＱ（ｋ，ｊ＋１）の値を、Ｑ（ｋ，ｊ）に代入するステップと、
（ｇ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｆ）および（ｆ２）のステップを繰り返すステップと、
（ｈ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｆ）〜（ｇ）のステップを繰り返すステップと、
（ｉ）Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＶ（１，０）となる部分集合を確定するステップと、
を有する情報処理方法。
【請求項４】
前記部分集合を確定するステップにおいて、Ｖ（１，０）からＶ（ｎ＋１，ｓ）に至るルートをｊおよびｋが増加する方向にバックトラックすることにより前記部分集合を確定する請求項１〜３の何れか一項に記載の情報処理方法。
【請求項５】
単一または複数の商品を含む商品セットＣｉを要素とし大きさが前記商品セットＣｉの数ｕである商品セットの集合Ｃ={Ｃｉ｜ｉ＝１，２，・・・，ｕ｝を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理方法であって、
前記集合Ｃに含まれる任意の二つの要素ＣｉとＣｊ（ｉ＜ｊ）には、Ｃｉ∩Ｃｊ＝φ（空集合）またはＣｉ⊂Ｃｊの何れかの条件が成立し、
前記集合Ｃに含まれる各商品の販売可能個数のうち最大の販売可能個数をｓｍａｘ、前記集合Ｃに含まれる前記Ｃｉ毎の前記Ｂｉの大きさｎｉのうち最大の大きさをｎｉｍａｘ、前記Ｃｉに含まれる各商品の販売可能個数のうち最小の販売可能個数をｓＣｉ、Ｃｉ⊂ＣｊおよびＣｉ≠Ｃｊの条件を満たす最小のｊをＰａｒｅｎｔ（Ｃｉ）、ｉ＝Ｐａｒｅｎｔ（Ｃｊ）を満たす全てのｊの集合をＣｈｉｌｄｒｅｎ（Ｃｉ）で表現した場合に、
（ａ）取引を希望する前記商品セットＣｉ、前記商品セットＣｉのセット数ｒｋ、前記商品セット１セット当たりの評価額ｅｋ、を含むビッドｂｋを受け取るステップと、
（ｂ）受け取った前記ビッドｂｋを前記商品セットＣｉ毎のビッドｂｋｉに分類し、前記ｂｋｉを要素とし大きさが前記ｂｋｉの数ｎｉである商品セットＣｉ毎のビッド集合Ｂｉ＝｛ｂｋｉ｜ｋ＝１，２，・・・，ｎｉ｝を生成するステップと、
（ｃ）前記Ｃｉについての指標をｉ（ｉ＝１，２，・・・，ｕ）、前記ビッドｂｋｉに関する指標をｋ（ｋ＝１，２，・・・，ｎｉｍａｘ＋１）、前記ｓＣｉに関する指標をｊ（ｊ＝０，１，・・・，ｓｍａｘ）とする大きさｕ×（ｎｉｍａｘ＋１）×（ｓｍａｘ＋１）の３次元配列Ｖ（ｉ，ｋ，ｊ）をメモリ領域に割り当てるステップと、
（ｄ）集合Ｃに含まれる全てのＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φであるかを判断するステップと、
（ｅ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１（ただし、ｎｍはＣｍの大きさ）でありｊ＝０〜ｓＣｍまでの各要素（Ｖ（ｍ，ｎｍ＋１，０）〜Ｖ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化するステップと、
（ｆ）ｋにｎｍを、ｊにｓＣｍ−１を代入するステップと、
（ｇ）Ｖ（ｍ，ｋ＋１，ｊ）、Ｖ（ｍ，ｋ，ｊ＋１）、および、Ｖ（ｍ，ｋ＋１，ｊ＋ｒｋ）＋ｅｋ・ｒｋの３つの値のなかから最大となる値をＶ（ｍ，ｋ，ｊ）に代入するステップと、
（ｈ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｇ）のステップを繰り返すステップと、
（ｉ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｇ）および（ｈ）のステップを繰り返すステップと、
（ｊ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φである全てのＣｍについて、前記（ｅ）〜（ｉ）のステップを繰り返すステップと、
（ｋ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝｛ｐ１，ｐ２，・・・｝≠φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｖ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｖ（Ｃｐ１，１，ｊ）＋Ｖ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化するステップと、
（ｌ）前記（ｆ）〜（ｉ）のステップを繰り返すステップと、
（ｍ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）≠φである全てのＣｍについて、前記（ｋ）〜（ｌ）のステップを繰り返すステップと、
（ｎ）全てのＣｉについてのＢｉを集めた集合Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＰａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）となる部分集合を確定するステップと、
を有する情報処理方法。
【請求項６】
単一または複数の商品を含む商品セットＣｉを要素とし大きさが前記商品セットＣｉの数ｕである商品セットの集合Ｃ={Ｃｉ｜ｉ＝１，２，・・・，ｕ｝を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理方法であって、
前記集合Ｃに含まれる任意の二つの要素ＣｉとＣｊ（ｉ＜ｊ）には、Ｃｉ∩Ｃｊ＝φ（空集合）またはＣｉ⊂Ｃｊの何れかの条件が成立し、
前記集合Ｃに含まれる各商品の販売可能個数のうち最大の販売可能個数をｓｍａｘ、前記集合Ｃに含まれる前記Ｃｉ毎の前記Ｂｉの大きさｎｉのうち最大の大きさをｎｉｍａｘ、前記Ｃｉに含まれる各商品の販売可能個数のうち最小の販売可能個数をｓＣｉ、Ｃｉ⊂ＣｊおよびＣｉ≠Ｃｊの条件を満たす最小のｊをＰａｒｅｎｔ（Ｃｉ）、ｉ＝Ｐａｒｅｎｔ（Ｃｊ）を満たす全てのｊの集合をＣｈｉｌｄｒｅｎ（Ｃｉ）で表現した場合に、
（ａ）取引を希望する前記商品セットＣｉ、前記商品セットＣｉの最小セット数量ｌｋ、最大セット数量ｈｋおよび取引セット数がｘ（ｘは自然数）の場合の評価額ｅｋ（ｘ）を含むビッドｂｋを受け取るステップと、
（ｂ）受け取った前記ビッドｂｋを前記商品セットＣｉ毎のビッドｂｋｉに分類し、前記ｂｋｉを要素とし大きさが前記ｂｋｉの数ｎｉである商品セットＣｉ毎のビッド集合Ｂｉ＝｛ｂｋｉ｜ｋ＝１，２，・・・，ｎｉ｝を生成するステップと、
（ｃ）前記Ｃｉについての指標をｉ（ｉ＝１，２，・・・，ｕ）、前記ビッドｂｋｉに関する指標をｋ（ｋ＝１，２，・・・，ｎｉｍａｘ＋１）、前記ｓＣｉに関する指標をｊ（ｊ＝０，１，・・・，ｓｍａｘ）とする大きさｕ×（ｎｉｍａｘ＋１）×（ｓｍａｘ＋１）の３次元配列Ｖ（ｉ，ｋ，ｊ）をメモリ領域に割り当てるステップと、
（ｄ）集合Ｃに含まれる全てのＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φであるかを判断するステップと、
（ｅ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１（ただし、ｎｍはＣｍの大きさ）でありｊ＝０〜ｓＣｍまでの各要素（Ｖ（ｍ，ｎｍ＋１，０）〜Ｖ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化するステップと、
（ｆ）ｋにｎｍを、ｊにｓＣｍ−１を代入するステップと、
（ｇ）Ｖ（ｍ，ｋ＋１，ｊ）、Ｖ（ｍ，ｋ，ｊ＋１）、および、（ｌｋ≦ｘ≦ｈｋ）の条件を満たすｘの範囲内においてその値が最大となるＶ（ｍ，ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）の３つの値のなかから最大となる値をＶ（ｍ，ｋ，ｊ）に代入するステップと、
（ｈ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｇ）のステップを繰り返すステップと、
（ｉ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｇ）および（ｈ）のステップを繰り返すステップと、
（ｊ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φである全てのＣｍについて、前記（ｅ）〜（ｉ）のステップを繰り返すステップと、
（ｋ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝｛ｐ１，ｐ２，・・・｝≠φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｖ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｖ（Ｃｐ１，１，ｊ）＋Ｖ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化するステップと、
（ｌ）前記（ｆ）〜（ｉ）のステップを繰り返すステップと、
（ｍ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）≠φである全てのＣｍについて、前記（ｋ）〜（ｌ）のステップを繰り返すステップと、
（ｎ）全てのＣｉについてのＢｉを集めた集合Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＰａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）となる部分集合を確定するステップと、
を有する情報処理方法。
【請求項７】
単一または複数の商品を含む商品セットＣｉを要素とし大きさが前記商品セットＣｉの数ｕである商品セットの集合Ｃ={Ｃｉ｜ｉ＝１，２，・・・，ｕ｝を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理方法であって、
前記集合Ｃに含まれる任意の二つの要素ＣｉとＣｊ（ｉ＜ｊ）には、Ｃｉ∩Ｃｊ＝φ（空集合）またはＣｉ⊂Ｃｊの何れかの条件が成立し、
前記集合Ｃに含まれる各商品の販売可能個数のうち最大の販売可能個数をｓｍａｘ、前記集合Ｃに含まれる前記Ｃｉ毎の前記Ｂｉの大きさｎｉのうち最大の大きさをｎｉｍａｘ、前記Ｃｉに含まれる各商品の販売可能個数のうち最小の販売可能個数をｓＣｉ、Ｃｉ⊂ＣｊおよびＣｉ≠Ｃｊの条件を満たす最小のｊをＰａｒｅｎｔ（Ｃｉ）、ｉ＝Ｐａｒｅｎｔ（Ｃｊ）を満たす全てのｊの集合をＣｈｉｌｄｒｅｎ（Ｃｉ）で表現した場合に、
（ａ）取引を希望する前記商品セットＣｉ、前記商品セットＣｉの最小セット数量ｌｋ、最大セット数量ｈｋおよび商品セット１セット当たりの評価額ｅｋを含むビッドｂｋを受け取るステップと、
（ｂ）受け取った前記ビッドｂｋを前記商品セットＣｉ毎のビッドｂｋｉに分類し、前記ｂｋｉを要素とし大きさが前記ｂｋｉの数ｎｉである商品セットＣｉ毎のビッド集合Ｂｉ＝｛ｂｋｉ｜ｋ＝１，２，・・・，ｎｉ｝を生成するステップと、
（ｃ）前記Ｃｉについての指標をｉ（ｉ＝１，２，・・・，ｕ）、前記ビッドｂｋｉに関する指標をｋ（ｋ＝１，２，・・・，ｎｉｍａｘ＋１）、前記ｓＣｉに関する指標をｊ（ｊ＝０，１，・・・，ｓｍａｘ）とする大きさｕ×（ｎｉｍａｘ＋１）×（ｓｍａｘ＋１）の３次元配列Ｖ（ｉ，ｋ，ｊ）およびＱ（ｉ，ｋ，ｊ）をメモリ領域に割り当てるステップと、
（ｄ）集合Ｃに含まれる全てのＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φであるかを判断するステップと、
（ｅ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１（ただし、ｎｍはＣｍの大きさ）でありｊ＝０〜ｓＣｍまでの各要素（Ｖ（ｍ，ｎｍ＋１，０）〜Ｖ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化するステップと、
（ｅ２）前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１でありｊ＝０〜ｓＣｍまでの各要素（Ｑ（ｍ，ｎｍ＋１，０）〜Ｑ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｑ（ｍ，１，ｓＣｍ）〜Ｑ（ｍ，ｎｍ，ｓＣｍ））にＱ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｑ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化するステップと、
（ｆ）ｋにｎｍを、ｊにｓＣｍ−１を代入するステップと、
（ｇ）Ｖ（ｍ，ｋ＋１，ｊ）、Ｑ（ｍ，ｋ，ｊ＋１）＝ｈｋの条件を満たす場合のＶ（ｍ，ｋ，ｊ＋１）、ｌｋ≦Ｑ（ｍ，ｋ，ｊ＋１）＜ｈｋの条件を満たす場合のＶ（ｍ，ｋ，ｊ＋１）＋ｅｋ、および、Ｖ（ｍ，ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの４つの値のなかから最大となる値をＶ（ｍ，ｋ，ｊ）に代入するステップと、
（ｇ２）Ｖ（ｍ，ｋ，ｊ）＝Ｖ（ｍ，ｋ，ｊ＋１）＋ｅｋの条件を満たす場合にはＱ（ｍ，ｋ，ｊ＋１）＋１の値を、Ｖ（ｍ，ｋ，ｊ）＝Ｖ（ｍ，ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの条件を満たす場合にはｌｋの値を、その他の場合にはＱ（ｍ，ｋ，ｊ＋１）の値を、Ｑ（ｍ，ｋ，ｊ）に代入するステップと、
（ｈ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｇ）および（ｇ２）のステップを繰り返すステップと、
（ｉ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｇ）〜（ｈ）のステップを繰り返すステップと、
（ｊ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φである全てのＣｍについて、前記（ｅ）〜（ｉ）のステップを繰り返すステップと、
（ｋ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝｛ｐ１，ｐ２，・・・｝≠φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｖ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｖ（Ｃｐ１，１，ｊ）＋Ｖ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化するステップと、
（ｋ２）前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｑ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｑ（Ｃｐ１，１，ｊ）＋Ｑ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｑ（ｍ，１，ｓＣｍ）〜Ｑ（ｍ，ｎｍ，ｓＣｍ））にＱ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｑ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化するステップと、
（ｌ）前記（ｆ）〜（ｉ）のステップを繰り返すステップと、
（ｍ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）≠φである全てのＣｍについて、前記（ｋ）〜（ｌ）のステップを繰り返すステップと、
（ｎ）全てのＣｉについてのＢｉを集めた集合Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＰａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）となる部分集合を確定するステップと、
を有する情報処理方法。
【請求項８】
前記部分集合を確定するステップにおいて、Ｐａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）からＶ（ｉ，ｎｉ＋１，ｓＣｉ）に至るルートをｊおよびｋが増加する方向にバックトラックし、Ｃｈｉｌｄｒｅｎ（Ｃｉ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される各商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１およびｊ＝０の各要素（Ｖ（ｐ１，１，０），Ｖ（ｐ２，１，０），・・・）から｛ｋ＝ｎｍ＋１｜ｍ＝ｐ１，ｐ２，・・・｝およびｊ＝｛ｓＣｍ｜ｍ＝ｐ１，ｐ２，・・・｝の各要素（Ｖ（ｐ１，ｎｐ１＋１，ｓＣｐ１），Ｖ（ｐ２，ｎｐ２＋１，ｓＣｐ２），・・・）に至る各ルートをｊおよびｋが増加する方向に各々バックトラックすることにより前記部分集合を確定する請求項５〜７の何れか一項に記載の情報処理方法。
【請求項９】
販売可能個数ｓの商品を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理システムであって、
（ａ）取引を希望する前記商品の最小数量ｌｋ、最大数量ｈｋおよび取引個数がｘ（ｘは自然数）の場合の評価額ｅｋ（ｘ）を含むビッドｂｋを受け取る手段と、
（ｂ）受け取った前記ビッドｂｋを要素とし大きさが前記ビッドｂｋの数ｎであるビッド集合Ｂ＝｛ｂｋ｜ｋ＝１，２，・・・，ｎ｝を生成する手段と、
（ｃ）前記ビッドｂｋに関する指標をｋ（ｋ＝１，２，・・・，ｎ＋１）、前記商品の数に関する指標をｊ（ｊ＝０，１，・・・，ｓ）とする大きさ（ｎ＋１）×（ｓ＋１）の２次元配列Ｖ（ｋ，ｊ）をメモリ領域に割り当てる手段と、
（ｄ）前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｋ＝ｎ＋１でありｊ＝０〜ｓの各要素（Ｖ（ｎ＋１，０）〜Ｖ（ｎ＋１，ｓ））に０を代入し、前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｊ＝ｓでありｋ＝１〜ｎの各要素（Ｖ（１，ｓ）〜Ｖ（ｎ，ｓ））にＶ（ｎ＋１，ｓ）の値を代入して前記２次元配列Ｖ（ｋ，ｊ）を初期化する手段と、
（ｅ）ｋにｎを、ｊにｓ−１を代入する手段と、
（ｆ）Ｖ（ｋ＋１，ｊ）、Ｖ（ｋ，ｊ＋１）、および、（ｌｋ≦ｘ≦ｈｋ）の条件を満たすｘの範囲内においてその値が最大となるＶ（ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）の３つの値のなかから最大となる値をＶ（ｋ，ｊ）に代入する手段と、
（ｇ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｆ）の手段を繰り返す手段と、
（ｈ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｆ）および（ｇ）の手段を繰り返す手段と、
（ｉ）Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＶ（１，０）となる部分集合を確定する手段と、
を有する情報処理システム。
【請求項１０】
前記商品の評価額ｅｋ（ｘ）は、前記取引個数ｘに対して非線形関数である請求項９記載の情報処理システム。
【請求項１１】
販売可能個数ｓの商品を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理システムであって、
（ａ）取引を希望する前記商品の最小数量ｌｋ、最大数量ｈｋおよび商品１個当たりの評価額ｅｋを含むビッドｂｋを受け取る手段と、
（ｂ）受け取った前記ビッドｂｋを要素とし大きさが前記ビッドｂｋの数ｎであるビッド集合Ｂ＝｛ｂｋ｜ｋ＝１，２，・・・，ｎ｝を生成する手段と、
（ｃ）前記ビッドｂｋに関する指標をｋ（ｋ＝１，２，・・・，ｎ＋１）、前記商品の数に関する指標をｊ（ｊ＝０，１，・・・，ｓ）とする大きさ（ｎ＋１）×（ｓ＋１）の２次元配列Ｖ（ｋ，ｊ）およびＱ（ｋ，ｊ）をメモリ領域に割り当てる手段と、
（ｄ）前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｋ＝ｎ＋１でありｊ＝０〜ｓの各要素（Ｖ（ｎ＋１，０）〜Ｖ（ｎ＋１，ｓ））に０を代入し、前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｊ＝ｓでありｋ＝１〜ｎの各要素（Ｖ（１，ｓ）〜Ｖ（ｎ，ｓ））にＶ（ｎ＋１，ｓ）の値を代入して前記２次元配列Ｖ（ｋ，ｊ）を初期化する手段と、
（ｄ２）前記２次元配列Ｑ（ｋ，ｊ）の要素のうちｋ＝ｎ＋１でありｊ＝０〜ｓの各要素（Ｑ（ｎ＋１，０）〜Ｑ（ｎ＋１，ｓ））に０を代入し、前記２次元配列Ｑ（ｋ，ｊ）の要素のうちｊ＝ｓでありｋ＝１〜ｎの各要素（Ｑ（１，ｓ）〜Ｑ（ｎ，ｓ））にＱ（ｎ＋１，ｓ）の値を代入して前記２次元配列Ｑ（ｋ，ｊ）を初期化する手段と、
（ｅ）ｋにｎを、ｊにｓ−１を代入する手段と、
（ｆ）Ｖ（ｋ＋１，ｊ）、Ｑ（ｋ，ｊ＋１）＝ｈｋの条件を満たす場合のＶ（ｋ，ｊ＋１）、ｌｋ≦Ｑ（ｋ，ｊ＋１）＜ｈｋの条件を満たす場合のＶ（ｋ，ｊ＋１）＋ｅｋ、および、Ｖ（ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの４つの値のなかから最大となる値をＶ（ｋ，ｊ）に代入する手段と、
（ｆ２）Ｖ（ｋ，ｊ）＝Ｖ（ｋ，ｊ＋１）＋ｅｋの条件を満たす場合にはＱ（ｋ，ｊ＋１）＋１の値を、Ｖ（ｋ，ｊ）＝Ｖ（ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの条件を満たす場合にはｌｋの値を、その他の場合にはＱ（ｋ，ｊ＋１）の値を、Ｑ（ｋ，ｊ）に代入する手段と、
（ｇ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｆ）および（ｆ２）の手段を繰り返す手段と、
（ｈ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｆ）〜（ｇ）の手段を繰り返す手段と、
（ｉ）Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＶ（１，０）となる部分集合を確定する手段と、
を有する情報処理システム。
【請求項１２】
前記部分集合を確定する手段において、Ｖ（１，０）からＶ（ｎ＋１，ｓ）に至るルートをｊおよびｋが増加する方向にバックトラックすることにより前記部分集合を確定する請求項９〜１１の何れか一項に記載の情報処理システム。
【請求項１３】
単一または複数の商品を含む商品セットＣｉを要素とし大きさが前記商品セットＣｉの数ｕである商品セットの集合Ｃ={Ｃｉ｜ｉ＝１，２，・・・，ｕ｝を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理システムであって、
前記集合Ｃに含まれる任意の二つの要素ＣｉとＣｊ（ｉ＜ｊ）には、Ｃｉ∩Ｃｊ＝φ（空集合）またはＣｉ⊂Ｃｊの何れかの条件が成立し、
前記集合Ｃに含まれる各商品の販売可能個数のうち最大の販売可能個数をｓｍａｘ、前記集合Ｃに含まれる前記Ｃｉ毎の前記Ｂｉの大きさｎｉのうち最大の大きさをｎｉｍａｘ、前記Ｃｉに含まれる各商品の販売可能個数のうち最小の販売可能個数をｓＣｉ、Ｃｉ⊂ＣｊおよびＣｉ≠Ｃｊの条件を満たす最小のｊをＰａｒｅｎｔ（Ｃｉ）、ｉ＝Ｐａｒｅｎｔ（Ｃｊ）を満たす全てのｊの集合をＣｈｉｌｄｒｅｎ（Ｃｉ）で表現した場合に、
（ａ）取引を希望する前記商品セットＣｉ、前記商品セットＣｉのセット数ｒｋ、前記商品セット１セット当たりの評価額ｅｋ、を含むビッドｂｋを受け取る手段と、
（ｂ）受け取った前記ビッドｂｋを前記商品セットＣｉ毎のビッドｂｋｉに分類し、前記ｂｋｉを要素とし大きさが前記ｂｋｉの数ｎｉである商品セットＣｉ毎のビッド集合Ｂｉ＝｛ｂｋｉ｜ｋ＝１，２，・・・，ｎｉ｝を生成する手段と、
（ｃ）前記Ｃｉについての指標をｉ（ｉ＝１，２，・・・，ｕ）、前記ビッドｂｋｉに関する指標をｋ（ｋ＝１，２，・・・，ｎｉｍａｘ＋１）、前記ｓＣｉに関する指標をｊ（ｊ＝０，１，・・・，ｓｍａｘ）とする大きさｕ×（ｎｉｍａｘ＋１）×（ｓｍａｘ＋１）の３次元配列Ｖ（ｉ，ｋ，ｊ）をメモリ領域に割り当てる手段と、
（ｄ）集合Ｃに含まれる全てのＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φであるかを判断する手段と、
（ｅ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１（ただし、ｎｍはＣｍの大きさ）でありｊ＝０〜ｓＣｍまでの各要素（Ｖ（ｍ，ｎｍ＋１，０）〜Ｖ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する手段と、
（ｆ）ｋにｎｍを、ｊにｓＣｍ−１を代入する手段と、
（ｇ）Ｖ（ｍ，ｋ＋１，ｊ）、Ｖ（ｍ，ｋ，ｊ＋１）、および、Ｖ（ｍ，ｋ＋１，ｊ＋ｒｋ）＋ｅｋ・ｒｋの３つの値のなかから最大となる値をＶ（ｍ，ｋ，ｊ）に代入する手段と、
（ｈ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｇ）の手段を繰り返す手段と、
（ｉ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｇ）および（ｈ）の手段を繰り返す手段と、
（ｊ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φである全てのＣｍについて、前記（ｅ）〜（ｉ）の手段を繰り返す手段と、
（ｋ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝｛ｐ１，ｐ２，・・・｝≠φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｖ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｖ（Ｃｐ１，１，ｊ）＋Ｖ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する手段と、
（ｌ）前記（ｆ）〜（ｉ）の手段を繰り返す手段と、
（ｍ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）≠φである全てのＣｍについて、前記（ｋ）〜（ｌ）の手段を繰り返す手段と、
（ｎ）全てのＣｉについてのＢｉを集めた集合Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＰａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）となる部分集合を確定する手段と、
を有する情報処理システム。
【請求項１４】
単一または複数の商品を含む商品セットＣｉを要素とし大きさが前記商品セットＣｉの数ｕである商品セットの集合Ｃ={Ｃｉ｜ｉ＝１，２，・・・，ｕ｝を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理システムであって、
前記集合Ｃに含まれる任意の二つの要素ＣｉとＣｊ（ｉ＜ｊ）には、Ｃｉ∩Ｃｊ＝φ（空集合）またはＣｉ⊂Ｃｊの何れかの条件が成立し、
前記集合Ｃに含まれる各商品の販売可能個数のうち最大の販売可能個数をｓｍａｘ、前記集合Ｃに含まれる前記Ｃｉ毎の前記Ｂｉの大きさｎｉのうち最大の大きさをｎｉｍａｘ、前記Ｃｉに含まれる各商品の販売可能個数のうち最小の販売可能個数をｓＣｉ、Ｃｉ⊂ＣｊおよびＣｉ≠Ｃｊの条件を満たす最小のｊをＰａｒｅｎｔ（Ｃｉ）、ｉ＝Ｐａｒｅｎｔ（Ｃｊ）を満たす全てのｊの集合をＣｈｉｌｄｒｅｎ（Ｃｉ）で表現した場合に、
（ａ）取引を希望する前記商品セットＣｉ、前記商品セットＣｉの最小セット数量ｌｋ、最大セット数量ｈｋおよび取引セット数がｘ（ｘは自然数）の場合の評価額ｅｋ（ｘ）を含むビッドｂｋを受け取る手段と、
（ｂ）受け取った前記ビッドｂｋを前記商品セットＣｉ毎のビッドｂｋｉに分類し、前記ｂｋｉを要素とし大きさが前記ｂｋｉの数ｎｉである商品セットＣｉ毎のビッド集合Ｂｉ＝｛ｂｋｉ｜ｋ＝１，２，・・・，ｎｉ｝を生成する手段と、
（ｃ）前記Ｃｉについての指標をｉ（ｉ＝１，２，・・・，ｕ）、前記ビッドｂｋｉに関する指標をｋ（ｋ＝１，２，・・・，ｎｉｍａｘ＋１）、前記ｓＣｉに関する指標をｊ（ｊ＝０，１，・・・，ｓｍａｘ）とする大きさｕ×（ｎｉｍａｘ＋１）×（ｓｍａｘ＋１）の３次元配列Ｖ（ｉ，ｋ，ｊ）をメモリ領域に割り当てる手段と、
（ｄ）集合Ｃに含まれる全てのＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φであるかを判断する手段と、
（ｅ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１（ただし、ｎｍはＣｍの大きさ）でありｊ＝０〜ｓＣｍまでの各要素（Ｖ（ｍ，ｎｍ＋１，０）〜Ｖ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する手段と、
（ｆ）ｋにｎｍを、ｊにｓＣｍ−１を代入する手段と、
（ｇ）Ｖ（ｍ，ｋ＋１，ｊ）、Ｖ（ｍ，ｋ，ｊ＋１）、および、（ｌｋ≦ｘ≦ｈｋ）の条件を満たすｘの範囲内においてその値が最大となるＶ（ｍ，ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）の３つの値のなかから最大となる値をＶ（ｍ，ｋ，ｊ）に代入する手段と、
（ｈ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｇ）の手段を繰り返す手段と、
（ｉ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｇ）および（ｈ）の手段を繰り返す手段と、
（ｊ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φである全てのＣｍについて、前記（ｅ）〜（ｉ）の手段を繰り返す手段と、
（ｋ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝｛ｐ１，ｐ２，・・・｝≠φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｖ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｖ（Ｃｐ１，１，ｊ）＋Ｖ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する手段と、
（ｌ）前記（ｆ）〜（ｉ）の手段を繰り返す手段と、
（ｍ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）≠φである全てのＣｍについて、前記（ｋ）〜（ｌ）の手段を繰り返す手段と、
（ｎ）全てのＣｉについてのＢｉを集めた集合Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＰａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）となる部分集合を確定する手段と、
を有する情報処理システム。
【請求項１５】
単一または複数の商品を含む商品セットＣｉを要素とし大きさが前記商品セットＣｉの数ｕである商品セットの集合Ｃ={Ｃｉ｜ｉ＝１，２，・・・，ｕ｝を対象とするオークションを、コンピュータを利用するソフトウェアにより実現する情報処理システムであって、
前記集合Ｃに含まれる任意の二つの要素ＣｉとＣｊ（ｉ＜ｊ）には、Ｃｉ∩Ｃｊ＝φ（空集合）またはＣｉ⊂Ｃｊの何れかの条件が成立し、
前記集合Ｃに含まれる各商品の販売可能個数のうち最大の販売可能個数をｓｍａｘ、前記集合Ｃに含まれる前記Ｃｉ毎の前記Ｂｉの大きさｎｉのうち最大の大きさをｎｉｍａｘ、前記Ｃｉに含まれる各商品の販売可能個数のうち最小の販売可能個数をｓＣｉ、Ｃｉ⊂ＣｊおよびＣｉ≠Ｃｊの条件を満たす最小のｊをＰａｒｅｎｔ（Ｃｉ）、ｉ＝Ｐａｒｅｎｔ（Ｃｊ）を満たす全てのｊの集合をＣｈｉｌｄｒｅｎ（Ｃｉ）で表現した場合に、
（ａ）取引を希望する前記商品セットＣｉ、前記商品セットＣｉの最小セット数量ｌｋ、最大セット数量ｈｋおよび商品セット１セット当たりの評価額ｅｋを含むビッドｂｋを受け取る手段と、
（ｂ）受け取った前記ビッドｂｋを前記商品セットＣｉ毎のビッドｂｋｉに分類し、前記ｂｋｉを要素とし大きさが前記ｂｋｉの数ｎｉである商品セットＣｉ毎のビッド集合Ｂｉ＝｛ｂｋｉ｜ｋ＝１，２，・・・，ｎｉ｝を生成する手段と、
（ｃ）前記Ｃｉについての指標をｉ（ｉ＝１，２，・・・，ｕ）、前記ビッドｂｋｉに関する指標をｋ（ｋ＝１，２，・・・，ｎｉｍａｘ＋１）、前記ｓＣｉに関する指標をｊ（ｊ＝０，１，・・・，ｓｍａｘ）とする大きさｕ×（ｎｉｍａｘ＋１）×（ｓｍａｘ＋１）の３次元配列Ｖ（ｉ，ｋ，ｊ）およびＱ（ｉ，ｋ，ｊ）をメモリ領域に割り当てる手段と、
（ｄ）集合Ｃに含まれる全てのＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φであるかを判断する手段と、
（ｅ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１（ただし、ｎｍはＣｍの大きさ）でありｊ＝０〜ｓＣｍまでの各要素（Ｖ（ｍ，ｎｍ＋１，０）〜Ｖ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する手段と、
（ｅ２）前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１でありｊ＝０〜ｓＣｍまでの各要素（Ｑ（ｍ，ｎｍ＋１，０）〜Ｑ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｑ（ｍ，１，ｓＣｍ）〜Ｑ（ｍ，ｎｍ，ｓＣｍ））にＱ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｑ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する手段と、
（ｆ）ｋにｎｍを、ｊにｓＣｍ−１を代入する手段と、
（ｇ）Ｖ（ｍ，ｋ＋１，ｊ）、Ｑ（ｍ，ｋ，ｊ＋１）＝ｈｋの条件を満たす場合のＶ（ｍ，ｋ，ｊ＋１）、ｌｋ≦Ｑ（ｍ，ｋ，ｊ＋１）＜ｈｋの条件を満たす場合のＶ（ｍ，ｋ，ｊ＋１）＋ｅｋ、および、Ｖ（ｍ，ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの４つの値のなかから最大となる値をＶ（ｍ，ｋ，ｊ）に代入する手段と、
（ｇ２）Ｖ（ｍ，ｋ，ｊ）＝Ｖ（ｍ，ｋ，ｊ＋１）＋ｅｋの条件を満たす場合にはＱ（ｍ，ｋ，ｊ＋１）＋１の値を、Ｖ（ｍ，ｋ，ｊ）＝Ｖ（ｍ，ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの条件を満たす場合にはｌｋの値を、その他の場合にはＱ（ｍ，ｋ，ｊ＋１）の値を、Ｑ（ｍ，ｋ，ｊ）に代入する手段と、
（ｈ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｇ）および（ｇ２）の手段を繰り返す手段と、
（ｉ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｇ）〜（ｈ）の手段を繰り返す手段と、
（ｊ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φである全てのＣｍについて、前記（ｅ）〜（ｉ）の手段を繰り返す手段と、
（ｋ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝｛ｐ１，ｐ２，・・・｝≠φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｖ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｖ（Ｃｐ１，１，ｊ）＋Ｖ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する手段と、
（ｋ２）前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｑ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｑ（Ｃｐ１，１，ｊ）＋Ｑ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｑ（ｍ，１，ｓＣｍ）〜Ｑ（ｍ，ｎｍ，ｓＣｍ））にＱ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｑ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する手段と、
（ｌ）前記（ｆ）〜（ｉ）の手段を繰り返す手段と、
（ｍ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）≠φである全てのＣｍについて、前記（ｋ）〜（ｌ）の手段を繰り返す手段と、
（ｎ）全てのＣｉについてのＢｉを集めた集合Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＰａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）となる部分集合を確定する手段と、
を有する情報処理システム。
【請求項１６】
前記部分集合を確定する手段において、Ｐａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）からＶ（ｉ，ｎｉ＋１，ｓＣｉ）に至るルートをｊおよびｋが増加する方向にバックトラックし、Ｃｈｉｌｄｒｅｎ（Ｃｉ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される各商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１およびｊ＝０の各要素（Ｖ（ｐ１，１，０），Ｖ（ｐ２，１，０），・・・）から｛ｋ＝ｎｍ＋１｜ｍ＝ｐ１，ｐ２，・・・｝およびｊ＝｛ｓＣｍ｜ｍ＝ｐ１，ｐ２，・・・｝の各要素（Ｖ（ｐ１，ｎｐ１＋１，ｓＣｐ１），Ｖ（ｐ２，ｎｐ２＋１，ｓＣｐ２），・・・）に至る各ルートをｊおよびｋが増加する方向に各々バックトラックすることにより前記部分集合を確定する請求項１３〜１５の何れか一項に記載の情報処理システム。
【請求項１７】
販売可能個数ｓの商品を対象とするオークションを、コンピュータに実行させるプログラムが記録されたコンピュータ可読な記録媒体であって、
コンピュータに、
（ａ）取引を希望する前記商品の最小数量ｌｋ、最大数量ｈｋおよび取引個数がｘ（ｘは自然数）の場合の評価額ｅｋ（ｘ）を含むビッドｂｋを受け取る機能と、
（ｂ）受け取った前記ビッドｂｋを要素とし大きさが前記ビッドｂｋの数ｎであるビッド集合Ｂ＝｛ｂｋ｜ｋ＝１，２，・・・，ｎ｝を生成する機能と、
（ｃ）前記ビッドｂｋに関する指標をｋ（ｋ＝１，２，・・・，ｎ＋１）、前記商品の数に関する指標をｊ（ｊ＝０，１，・・・，ｓ）とする大きさ（ｎ＋１）×（ｓ＋１）の２次元配列Ｖ（ｋ，ｊ）をメモリ領域に割り当てる機能と、
（ｄ）前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｋ＝ｎ＋１でありｊ＝０〜ｓの各要素（Ｖ（ｎ＋１，０）〜Ｖ（ｎ＋１，ｓ））に０を代入し、前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｊ＝ｓでありｋ＝１〜ｎの各要素（Ｖ（１，ｓ）〜Ｖ（ｎ，ｓ））にＶ（ｎ＋１，ｓ）の値を代入して前記２次元配列Ｖ（ｋ，ｊ）を初期化する機能と、
（ｅ）ｋにｎを、ｊにｓ−１を代入する機能と、
（ｆ）Ｖ（ｋ＋１，ｊ）、Ｖ（ｋ，ｊ＋１）、および、（ｌｋ≦ｘ≦ｈｋ）の条件を満たすｘの範囲内においてその値が最大となるＶ（ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）の３つの値のなかから最大となる値をＶ（ｋ，ｊ）に代入する機能と、
（ｇ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｆ）の機能を繰り返す機能と、
（ｈ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｆ）および（ｇ）の機能を繰り返す機能と、
（ｉ）Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＶ（１，０）となる部分集合を確定する機能と、
を実現させるプログラムが記録された記録媒体。
【請求項１８】
販売可能個数ｓの商品を対象とするオークションを、コンピュータに実行させるプログラムが記録されたコンピュータ可読な記録媒体であって、
コンピュータに、
（ａ）取引を希望する前記商品の最小数量ｌｋ、最大数量ｈｋおよび商品１個当たりの評価額ｅｋを含むビッドｂｋを受け取る機能と、
（ｂ）受け取った前記ビッドｂｋを要素とし大きさが前記ビッドｂｋの数ｎであるビッド集合Ｂ＝｛ｂｋ｜ｋ＝１，２，・・・，ｎ｝を生成する機能と、
（ｃ）前記ビッドｂｋに関する指標をｋ（ｋ＝１，２，・・・，ｎ＋１）、前記商品の数に関する指標をｊ（ｊ＝０，１，・・・，ｓ）とする大きさ（ｎ＋１）×（ｓ＋１）の２次元配列Ｖ（ｋ，ｊ）およびＱ（ｋ，ｊ）をメモリ領域に割り当てる機能と、
（ｄ）前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｋ＝ｎ＋１でありｊ＝０〜ｓの各要素（Ｖ（ｎ＋１，０）〜Ｖ（ｎ＋１，ｓ））に０を代入し、前記２次元配列Ｖ（ｋ，ｊ）の要素のうちｊ＝ｓでありｋ＝１〜ｎの各要素（Ｖ（１，ｓ）〜Ｖ（ｎ，ｓ））にＶ（ｎ＋１，ｓ）の値を代入して前記２次元配列Ｖ（ｋ，ｊ）を初期化する機能と、
（ｄ２）前記２次元配列Ｑ（ｋ，ｊ）の要素のうちｋ＝ｎ＋１でありｊ＝０〜ｓの各要素（Ｑ（ｎ＋１，０）〜Ｑ（ｎ＋１，ｓ））に０を代入し、前記２次元配列Ｑ（ｋ，ｊ）の要素のうちｊ＝ｓでありｋ＝１〜ｎの各要素（Ｑ（１，ｓ）〜Ｑ（ｎ，ｓ））にＱ（ｎ＋１，ｓ）の値を代入して前記２次元配列Ｑ（ｋ，ｊ）を初期化する機能と、
（ｅ）ｋにｎを、ｊにｓ−１を代入する機能と、
（ｆ）Ｖ（ｋ＋１，ｊ）、Ｑ（ｋ，ｊ＋１）＝ｈｋの条件を満たす場合のＶ（ｋ，ｊ＋１）、ｌｋ≦Ｑ（ｋ，ｊ＋１）＜ｈｋの条件を満たす場合のＶ（ｋ，ｊ＋１）＋ｅｋ、および、Ｖ（ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの４つの値のなかから最大となる値をＶ（ｋ，ｊ）に代入する機能と、
（ｆ２）Ｖ（ｋ，ｊ）＝Ｖ（ｋ，ｊ＋１）＋ｅｋの条件を満たす場合にはＱ（ｋ，ｊ＋１）＋１の値を、Ｖ（ｋ，ｊ）＝Ｖ（ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの条件を満たす場合にはｌｋの値を、その他の場合にはＱ（ｋ，ｊ＋１）の値を、Ｑ（ｋ，ｊ）に代入する機能と、
（ｇ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｆ）および（ｆ２）の機能を繰り返す機能と、
（ｈ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｆ）〜（ｇ）の機能を繰り返す機能と、
（ｉ）Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＶ（１，０）となる部分集合を確定する機能と、
を実現させるプログラムが記録された記録媒体。
【請求項１９】
単一または複数の商品を含む商品セットＣｉを要素とし大きさが前記商品セットＣｉの数ｕである商品セットの集合Ｃ={Ｃｉ｜ｉ＝１，２，・・・，ｕ｝を対象とするオークションを、コンピュータに実行させるプログラムが記録されたコンピュータ可読な記録媒体であって、
コンピュータに、
前記集合Ｃに含まれる任意の二つの要素ＣｉとＣｊ（ｉ＜ｊ）には、Ｃｉ∩Ｃｊ＝φ（空集合）またはＣｉ⊂Ｃｊの何れかの条件が成立し、
前記集合Ｃに含まれる各商品の販売可能個数のうち最大の販売可能個数をｓｍａｘ、前記集合Ｃに含まれる前記Ｃｉ毎の前記Ｂｉの大きさｎｉのうち最大の大きさをｎｉｍａｘ、前記Ｃｉに含まれる各商品の販売可能個数のうち最小の販売可能個数をｓＣｉ、Ｃｉ⊂ＣｊおよびＣｉ≠Ｃｊの条件を満たす最小のｊをＰａｒｅｎｔ（Ｃｉ）、ｉ＝Ｐａｒｅｎｔ（Ｃｊ）を満たす全てのｊの集合をＣｈｉｌｄｒｅｎ（Ｃｉ）で表現した場合に、
（ａ）取引を希望する前記商品セットＣｉ、前記商品セットＣｉのセット数ｒｋ、前記商品セット１セット当たりの評価額ｅｋ、を含むビッドｂｋを受け取る機能と、
（ｂ）受け取った前記ビッドｂｋを前記商品セットＣｉ毎のビッドｂｋｉに分類し、前記ｂｋｉを要素とし大きさが前記ｂｋｉの数ｎｉである商品セットＣｉ毎のビッド集合Ｂｉ＝｛ｂｋｉ｜ｋ＝１，２，・・・，ｎｉ｝を生成する機能と、
（ｃ）前記Ｃｉについての指標をｉ（ｉ＝１，２，・・・，ｕ）、前記ビッドｂｋｉに関する指標をｋ（ｋ＝１，２，・・・，ｎｉｍａｘ＋１）、前記ｓＣｉに関する指標をｊ（ｊ＝０，１，・・・，ｓｍａｘ）とする大きさｕ×（ｎｉｍａｘ＋１）×（ｓｍａｘ＋１）の３次元配列Ｖ（ｉ，ｋ，ｊ）をメモリ領域に割り当てる機能と、
（ｄ）集合Ｃに含まれる全てのＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φであるかを判断する機能と、
（ｅ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１（ただし、ｎｍはＣｍの大きさ）でありｊ＝０〜ｓＣｍまでの各要素（Ｖ（ｍ，ｎｍ＋１，０）〜Ｖ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する機能と、
（ｆ）ｋにｎｍを、ｊにｓＣｍ−１を代入する機能と、
（ｇ）Ｖ（ｍ，ｋ＋１，ｊ）、Ｖ（ｍ，ｋ，ｊ＋１）、および、Ｖ（ｍ，ｋ＋１，ｊ＋ｒｋ）＋ｅｋ・ｒｋの３つの値のなかから最大となる値をＶ（ｍ，ｋ，ｊ）に代入する機能と、
（ｈ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｇ）の機能を繰り返す機能と、
（ｉ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｇ）および（ｈ）の機能を繰り返す機能と、
（ｊ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φである全てのＣｍについて、前記（ｅ）〜（ｉ）の機能を繰り返す機能と、
（ｋ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝｛ｐ１，ｐ２，・・・｝≠φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｖ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｖ（Ｃｐ１，１，ｊ）＋Ｖ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する機能と、
（ｌ）前記（ｆ）〜（ｉ）の機能を繰り返す機能と、
（ｍ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）≠φである全てのＣｍについて、前記（ｋ）〜（ｌ）の機能を繰り返す機能と、
（ｎ）全てのＣｉについてのＢｉを集めた集合Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＰａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）となる部分集合を確定する機能と、
を実現させるプログラムが記録された記録媒体。
【請求項２０】
単一または複数の商品を含む商品セットＣｉを要素とし大きさが前記商品セットＣｉの数ｕである商品セットの集合Ｃ={Ｃｉ｜ｉ＝１，２，・・・，ｕ｝を対象とするオークションを、コンピュータに実行させるプログラムが記録されたコンピュータ可読な記録媒体であって、
コンピュータに、
前記集合Ｃに含まれる任意の二つの要素ＣｉとＣｊ（ｉ＜ｊ）には、Ｃｉ∩Ｃｊ＝φ（空集合）またはＣｉ⊂Ｃｊの何れかの条件が成立し、
前記集合Ｃに含まれる各商品の販売可能個数のうち最大の販売可能個数をｓｍａｘ、前記集合Ｃに含まれる前記Ｃｉ毎の前記Ｂｉの大きさｎｉのうち最大の大きさをｎｉｍａｘ、前記Ｃｉに含まれる各商品の販売可能個数のうち最小の販売可能個数をｓＣｉ、Ｃｉ⊂ＣｊおよびＣｉ≠Ｃｊの条件を満たす最小のｊをＰａｒｅｎｔ（Ｃｉ）、ｉ＝Ｐａｒｅｎｔ（Ｃｊ）を満たす全てのｊの集合をＣｈｉｌｄｒｅｎ（Ｃｉ）で表現した場合に、
（ａ）取引を希望する前記商品セットＣｉ、前記商品セットＣｉの最小セット数量ｌｋ、最大セット数量ｈｋおよび取引セット数がｘ（ｘは自然数）の場合の評価額ｅｋ（ｘ）を含むビッドｂｋを受け取る機能と、
（ｂ）受け取った前記ビッドｂｋを前記商品セットＣｉ毎のビッドｂｋｉに分類し、前記ｂｋｉを要素とし大きさが前記ｂｋｉの数ｎｉである商品セットＣｉ毎のビッド集合Ｂｉ＝｛ｂｋｉ｜ｋ＝１，２，・・・，ｎｉ｝を生成する機能と、
（ｃ）前記Ｃｉについての指標をｉ（ｉ＝１，２，・・・，ｕ）、前記ビッドｂｋｉに関する指標をｋ（ｋ＝１，２，・・・，ｎｉｍａｘ＋１）、前記ｓＣｉに関する指標をｊ（ｊ＝０，１，・・・，ｓｍａｘ）とする大きさｕ×（ｎｉｍａｘ＋１）×（ｓｍａｘ＋１）の３次元配列Ｖ（ｉ，ｋ，ｊ）をメモリ領域に割り当てる機能と、
（ｄ）集合Ｃに含まれる全てのＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φであるかを判断する機能と、
（ｅ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１（ただし、ｎｍはＣｍの大きさ）でありｊ＝０〜ｓＣｍまでの各要素（Ｖ（ｍ，ｎｍ＋１，０）〜Ｖ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する機能と、
（ｆ）ｋにｎｍを、ｊにｓＣｍ−１を代入する機能と、
（ｇ）Ｖ（ｍ，ｋ＋１，ｊ）、Ｖ（ｍ，ｋ，ｊ＋１）、および、（ｌｋ≦ｘ≦ｈｋ）の条件を満たすｘの範囲内においてその値が最大となるＶ（ｍ，ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）の３つの値のなかから最大となる値をＶ（ｍ，ｋ，ｊ）に代入する機能と、
（ｈ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｇ）の機能を繰り返す機能と、
（ｉ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｇ）および（ｈ）の機能を繰り返す機能と、
（ｊ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φである全てのＣｍについて、前記（ｅ）〜（ｉ）の機能を繰り返す機能と、
（ｋ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝｛ｐ１，ｐ２，・・・｝≠φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｖ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｖ（Ｃｐ１，１，ｊ）＋Ｖ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する機能と、
（ｌ）前記（ｆ）〜（ｉ）の機能を繰り返す機能と、
（ｍ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）≠φである全てのＣｍについて、前記（ｋ）〜（ｌ）の機能を繰り返す機能と、
（ｎ）全てのＣｉについてのＢｉを集めた集合Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＰａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）となる部分集合を確定する機能と、
を実現させるプログラムが記録された記録媒体。
【請求項２１】
単一または複数の商品を含む商品セットＣｉを要素とし大きさが前記商品セットＣｉの数ｕである商品セットの集合Ｃ={Ｃｉ｜ｉ＝１，２，・・・，ｕ｝を対象とするオークションを、コンピュータに実行させるプログラムが記録されたコンピュータ可読な記録媒体であって、
コンピュータに、
前記集合Ｃに含まれる任意の二つの要素ＣｉとＣｊ（ｉ＜ｊ）には、Ｃｉ∩Ｃｊ＝φ（空集合）またはＣｉ⊂Ｃｊの何れかの条件が成立し、
前記集合Ｃに含まれる各商品の販売可能個数のうち最大の販売可能個数をｓｍａｘ、前記集合Ｃに含まれる前記Ｃｉ毎の前記Ｂｉの大きさｎｉのうち最大の大きさをｎｉｍａｘ、前記Ｃｉに含まれる各商品の販売可能個数のうち最小の販売可能個数をｓＣｉ、Ｃｉ⊂ＣｊおよびＣｉ≠Ｃｊの条件を満たす最小のｊをＰａｒｅｎｔ（Ｃｉ）、ｉ＝Ｐａｒｅｎｔ（Ｃｊ）を満たす全てのｊの集合をＣｈｉｌｄｒｅｎ（Ｃｉ）で表現した場合に、
（ａ）取引を希望する前記商品セットＣｉ、前記商品セットＣｉの最小セット数量ｌｋ、最大セット数量ｈｋおよび商品セット１セット当たりの評価額ｅｋを含むビッドｂｋを受け取る機能と、
（ｂ）受け取った前記ビッドｂｋを前記商品セットＣｉ毎のビッドｂｋｉに分類し、前記ｂｋｉを要素とし大きさが前記ｂｋｉの数ｎｉである商品セットＣｉ毎のビッド集合Ｂｉ＝｛ｂｋｉ｜ｋ＝１，２，・・・，ｎｉ｝を生成する機能と、
（ｃ）前記Ｃｉについての指標をｉ（ｉ＝１，２，・・・，ｕ）、前記ビッドｂｋｉに関する指標をｋ（ｋ＝１，２，・・・，ｎｉｍａｘ＋１）、前記ｓＣｉに関する指標をｊ（ｊ＝０，１，・・・，ｓｍａｘ）とする大きさｕ×（ｎｉｍａｘ＋１）×（ｓｍａｘ＋１）の３次元配列Ｖ（ｉ，ｋ，ｊ）およびＱ（ｉ，ｋ，ｊ）をメモリ領域に割り当てる機能と、
（ｄ）集合Ｃに含まれる全てのＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φであるかを判断する機能と、
（ｅ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１（ただし、ｎｍはＣｍの大きさ）でありｊ＝０〜ｓＣｍまでの各要素（Ｖ（ｍ，ｎｍ＋１，０）〜Ｖ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する機能と、
（ｅ２）前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１でありｊ＝０〜ｓＣｍまでの各要素（Ｑ（ｍ，ｎｍ＋１，０）〜Ｑ（ｍ，ｎｍ＋１，ｓＣｍ））に０を代入し、前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｑ（ｍ，１，ｓＣｍ）〜Ｑ（ｍ，ｎｍ，ｓＣｍ））にＱ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｑ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する機能と、
（ｆ）ｋにｎｍを、ｊにｓＣｍ−１を代入する機能と、
（ｇ）Ｖ（ｍ，ｋ＋１，ｊ）、Ｑ（ｍ，ｋ，ｊ＋１）＝ｈｋの条件を満たす場合のＶ（ｍ，ｋ，ｊ＋１）、ｌｋ≦Ｑ（ｍ，ｋ，ｊ＋１）＜ｈｋの条件を満たす場合のＶ（ｍ，ｋ，ｊ＋１）＋ｅｋ、および、Ｖ（ｍ，ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの４つの値のなかから最大となる値をＶ（ｍ，ｋ，ｊ）に代入する機能と、
（ｇ２）Ｖ（ｍ，ｋ，ｊ）＝Ｖ（ｍ，ｋ，ｊ＋１）＋ｅｋの条件を満たす場合にはＱ（ｍ，ｋ，ｊ＋１）＋１の値を、Ｖ（ｍ，ｋ，ｊ）＝Ｖ（ｍ，ｋ＋１，ｊ＋ｌｋ）＋ｅｋ・ｌｋの条件を満たす場合にはｌｋの値を、その他の場合にはＱ（ｍ，ｋ，ｊ＋１）の値を、Ｑ（ｍ，ｋ，ｊ）に代入する機能と、
（ｈ）ｊにｊ−１を代入し、ｊが０になるまで前記（ｇ）および（ｇ２）の機能を繰り返す機能と、
（ｉ）ｋにｋ−１を代入し、ｋが１になるまで前記（ｇ）〜（ｈ）の機能を繰り返す機能と、
（ｊ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝φである全てのＣｍについて、前記（ｅ）〜（ｉ）の機能を繰り返す機能と、
（ｋ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）＝｛ｐ１，ｐ２，・・・｝≠φであるＣｍについて、
前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｖ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｖ（Ｃｐ１，１，ｊ）＋Ｖ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｖ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｖ（ｍ，１，ｓＣｍ）〜Ｖ（ｍ，ｎｍ，ｓＣｍ））にＶ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｖ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する機能と、
（ｋ２）前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｋ＝ｎｍ＋１であるｊ＝０〜ｓＣｍまでの各ｊについての要素（Ｑ（ｍ，ｎｍ＋１，ｊ）、ただしｊ＝０〜ｓＣｍ）に、Ｃｈｉｌｄｒｅｎ（Ｃｍ）に含まれる指標（ｐ１，ｐ２，・・・）で特定される商品セット（Ｃｐ１，Ｃｐ２，・・・）のｋ＝１におけるｊ＝０〜ｓＣｍの各ｊについての要素の和（Ｑ（Ｃｐ１，１，ｊ）＋Ｑ（Ｃｐ２，１，ｊ）＋・・・、ただしｊ＝０〜ｓＣｍ）を代入し、前記３次元配列Ｑ（ｉ，ｋ，ｊ）の要素のうちｉ＝ｍかつｊ＝ｓＣｍでありｋ＝１〜ｎｍまでの各要素（Ｑ（ｍ，１，ｓＣｍ）〜Ｑ（ｍ，ｎｍ，ｓＣｍ））にＱ（ｍ，ｎｍ＋１，ｓＣｍ）の値を代入して前記３次元配列Ｑ（ｉ，ｋ，ｊ）のｉ＝ｍに係る要素を初期化する機能と、
（ｌ）前記（ｆ）〜（ｉ）の機能を繰り返す機能と、
（ｍ）Ｃｈｉｌｄｒｅｎ（Ｃｍ）≠φである全てのＣｍについて、前記（ｋ）〜（ｌ）の機能を繰り返す機能と、
（ｎ）全てのＣｉについてのＢｉを集めた集合Ｂの部分集合であって、その部分集合を構成するビッドによる購入額の和がＰａｒｅｎｔ（Ｃｉ）＝φであるＣｉに係るＶ（ｉ，１，０）となる部分集合を確定する機能と、
を実現させるプログラムが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、オークション、競争入札等、商品および数量とその評価額を提示したビッドから勝利者を決定する方法、システムに関する。特に複数種類の商品セットについて多数の数量を指定するような一般的に計算量の多くなる決定を、実用可能な計算量の範囲内で行うことができる技術に関する。
【０００２】
【従来の技術】
近年、インターネット技術の進展と一般化を背景に電子取引、電子オークションが盛んになりつつある。オークションの過程では、集められたビッド（入札）の中から勝利者を決定するプロセスが存在する。一般に勝利者の決定は、最大収益となるようなビッドの選択によりなされる。
【０００３】
取引対象の商品が単一種類であって単一数量の場合には、その商品について最大の評価額を提示した者が勝利者となる。たとえば１つの壷がオークションにかけられた場合、最高値をつけた者がその壷を落札することになる。
【０００４】
企業間取引でオークションあるいは入札を行う場合には、商品の個数は複数になる場合が多い。たとえば多数のコンピュータを在庫として有する売り手に対して複数の買い手から「コンピュータ５台を６０万円（１台当たり１２万円）で購入します」というビッドを受け付けるような取引が考えられる。この場合、各ビッドについての評価額（１個当たりの評価額に取引個数を乗じた額）の総額が最大になるビッドのセットが選択される。但し取引数量（選択されたビッドの取引個数の総数）が取引可能数量（在庫数）の範囲を超えないという制約条件を満たす必要がある。つまり最も売れ残りの少ない状態で最大の収益を達成するビッドのセットが選択され、それらビッドの提示者たちが勝利者となる。この問題は、よく知られたナップザック問題と等価であり、動的計画法（ダイナミックプログラミング）によって最適解を得ることができる。
【０００５】
動的計画法は、よく知られているように、Ｎ次元の多段決定問題をベルマンの最適性原理に基づいて関数再帰方程式に置き換え、Ｎ個の１次元問題として解く最適化法である。上記問題を定式化すれば、たとえば、ｎ個（＝｜Ｂ｜）のビッド（上記例ではコンピュータの買い注文）が集合Ｂ＝｛ｂ１，ｂ２，・・・，ｂｋ，・・・，ｂｎ｝として与えられた時、Σｒｋ≦ｓの条件下で、Σｒｋｅｋを最大化する部分集合｛ｂｋ｝を求めるという問題になる。但し、ｒｋはビットｂｋの商品注文数量、ｅｋはビッドｂｋの商品１個あたりの評価額、ｓは商品の在庫数を示し、ｒｋは非負の整数である。
【０００６】
この問題のアルゴリズムを例示すれば以下の通りである。まず、（ｎ＋１）×（ｓ＋１）空間の評価値配列Ｖ（ｋ，ｊ）を定義する。ｋは、１≦ｋ≦ｎ＋１の整数、ｊは、０≦ｊ≦ｓの整数である。
【０００７】
次に、初期化ステップとして、
【０００８】
【数１１】
0003579828.tif 000002
を実行する。
【０００９】
さらに、再帰方程式として、
【００１０】
【数１２】
0003579828.tif 000003
を定義する。なお、ｍａｘ｛ａ，ｂ，ｃ｝はａ，ｂ，ｃのうち最大の値を与える関数である。
【００１１】
そして、ｋを｜Ｂ｜から１について、ｊをｓ−１から０について、降順に前記再帰方程式を解く。なお、ｊ＋ｒｋがｓを超える時にはＶ（ｋ＋１，ｊ＋ｒｋ）＋ｒｋｅｋ値は選択されない。
【００１２】
前記再帰方程式をｋ＝１、ｊ＝０まで計算した後、Ｖ（１，０）に代入される値が最大収益を示す。そして、Ｖ（ｋ，ｊ）が最大値（＝Ｖ（１，０））から０（＝Ｖ（｜Ｂ｜＋１，ｓ））にいたるルートをバックトラックすれば、何れのビッドｂｋが選択されたかを知ることができる。
【００１３】
すなわち、商品が単一種類の場合、複数の商品個数と評価額を指定するビットは動的計画法を用いて最適な選択（決定）を行うことができる。前記計算の場合、その計算量はΟ（｜Ｂ｜ｓ）である。
【００１４】
なお、複数種類の商品を取り扱う場合であっても、ビッドに単一商品の指定のみが許可される場合には、商品の種類間の制約がないので、実質的には商品の種類ごとの別々のオークションが行われていることと同じである。よって、ビッドを商品ごとに分け、商品ごとの勝利者を前記手法を用いて決定できる。
【００１５】
【発明が解決しようとする課題】
企業間取引では取引対象が複数種類の商品になる場合が多く、むしろ複数種類の商品が取り引きされる方が一般的である。すなわち、取引の際、商品の種類毎の取引のほか、商品の組合せで取引を行いたい場合がある。たとえば、「パソコン、ディスプレイ、プリンターのセットを１セット２０万円で購入したい。」という要求である。通常組で使用される商品の場合、組を構成する商品を同数購入することを希望するであろう。また、商品の組合せはできるだけ任意であることが望ましい。企業における調達のオークションを考えた場合、商品在庫の数、ビッドが要求するユニットの数が大量になることが予想される。たとえばパソコンが５００台  、ディスプレイが４００台  、プリンターが３００台、紙が２００セット、机が４００台、等という対象に対して、「パソコンとディスプレイのセットを２００〜３００セット、１セットを１５万円で」という形態のビットを許容することが企業間取引には是非とも必要である。
【００１６】
しかし、商品の組合せを許容するビッドの場合には、評価額の和が最大になる商品の割り当て（すなわちビッドの組合せ）を決めなければならない。この問題は、ビッドが任意の複数の種類の組合せに対して許されるときにはＮＰ−ｃｏｍｐｌｅｔｅ（ＮＰ完全問題）になる。すなわち、多項式時間で解くアルゴリズムが存在しない。複数種類、かつそれぞれの種類の商品が複数個あるような場合（「パソコンを５台  、ディスプレイを４台  、プリンターを３台  」というような場合）においても同様にＮＰ完全になる。つまり、一般的な形においてこの場合の問題を解くことは多項式時間では不可能である。
【００１７】
きわめて数の少ない場合にはこのような組合せに対しても最適解を得ることは可能になるが、商品数が多くなると現実的な計算速度では到底解くことが不可能になる。
【００１８】
本発明の目的は、多種類、多量の在庫が存在する場合の、多量の取引対象（商品）に対してビッドが行われるような組合せオークションの勝利者決定の問題に対して解法を与えることにある。
【００１９】
また、本発明の目的は、現実的な計算量で実行可能な、商品の組合せに対するビッドを許容するオークション方法およびシステムを提供することにある。
【００２０】
また、本発明の目的は、現実的な計算量で実行可能な、商品の希望数量に幅を持たせたビッドを許容するオークション方法およびシステムを提供することにある。
【００２１】
また、本発明の目的は、現実的な計算量で実行可能な、商品の数量に応じて評価額を変えることが可能なビッドを許容するオークション方法およびシステムを提供することにある。
【００２２】
【課題を解決するための手段】
本願の発明の概略を説明すれば、以下の通りである。任意の商品の組合せに対するビッドを許容すると前記の通り問題が解けない。よって本発明のオークションシステム、オークション方法では、許される商品の組合せに対して以下の２種類の制限を与える。
１．  ひとつのビッドは一種類の商品に対してのみ行うことができる。
２．  ビッドの可能な商品の組合せの包含関係が、図８に示すような階層的構造を持つ。
【００２３】
上記のような制限を与えたビッドの集合から、動的計画法を適用して最適なビッドの部分集合を選択する。この選択されたビッドの提示者がオークションの勝利者となる。本発明では、前記のような制限を与えることにより、ＮＰ完全を回避して、実用的な計算量で最適解を得ることが可能になる。一方、本発明のビッドでは、前記制限はあるものの商品の組合せを許容するので、企業間の資材調達等に用いるオークションを提供することができる。本発明を列記すれば以下の通りである。
【００２４】
１．本発明のオークション方法は、商品を対象にオークションを行う方法であって、前記商品の種類毎に、取引を希望する前記商品の最低数量および最大数量、並びに、前記商品の評価額を含むビッドを受け取るステップと、前記ビッドをその要素とする有限のビッド集合を生成するステップと、前記ビッド集合から、前記商品の販売可能個数の範囲内で収益を最大にするビッドの部分集合を、動的計画法を用いて生成するステップと、を有する。
【００２５】
なお、前記商品の評価額は、前記取引を希望する商品の数量に対して非線形関数とすることができる。
【００２６】
また、前記動的計画法において、２次元配列Ｖをメモリ領域に割り当てるステップと、前記２次元配列Ｖを初期化するステップと、前記２次元配列Ｖの再帰方程式を再帰的に解くステップと、を有し、前記再帰方程式として、
【００２７】
【数１３】
0003579828.tif 000004
を用いることができる。ただし、ｋは１以上ｎ以下の整数、ｊは０以上ｓ以下の整数、ｎはビッド数、ｓは取引可能な商品数、ｅｋはビッドｂｋにおける商品をｘ個買ったときの評価額、ｌｋはビッドｂｋにおける最低数量、ｈｋはビッドｂｋにおける最大数量、である。
【００２８】
あるいは、前記商品の評価額は、前記取引を希望する商品の数量に対して線形関数であって、前記動的計画法において、２次元配列ＶおよびＱをメモリ領域に割り当てるステップと、前記２次元配列ＶおよびＱを初期化するステップと、前記２次元配列ＶおよびＱの再帰方程式を再帰的に解くステップと、を有し、前記再帰方程式として、
【００２９】
【数１４】
0003579828.tif 000005
を用いることができる。ただし、ｋは１以上ｎ以下の整数、ｊは０以上ｓ以下の整数、ｎはビッド数、ｓは取引可能な商品数、ｅｋはビッドｂｋにおける商品１個当たりの評価額、ｌｋはビッドｂｋにおける最低数量、ｈｋはビッドｂｋにおける最大数量、である。
【００３０】
なお、前記２次元配列Ｖを最小行最小列の要素からバックトラックすることにより、最適に前記商品が配分されるビッドを選択することができる。
【００３１】
２．本発明のオークション方法は複数個かつ複数種類の商品を対象にオークションを行う方法であって、前記商品の組合せ（単一種類の場合を含む）、取引を希望する前記組合せの数量、および、前記組合せの評価額を含むビッドを受け取るステップと、前記ビッドをその要素とする有限のビッド集合を生成するステップと、前記ビッド集合から、前記各商品の各販売可能個数の範囲内で収益を最大にするビッドの部分集合を、動的計画法を用いて生成するステップと、を有し、前記商品の組合せは、２つの異なる任意の組合せＣｉおよびＣｊ（ｉ＜ｊ）の間に、Ｃｉ∩Ｃｊ≠φである第１の条件、または、Ｃｉ⊂Ｃｊである第２の条件、の何れかの条件を満足するものである。
【００３２】
なお、前記組合せの数量は、取引を希望する前記組合せの最低数量および最大数量を指定することができる。
【００３３】
また、前記組合せの評価額は、前記取引を希望する組合せの数量に対して非線形関数とすることができる。
【００３４】
また、前記動的計画法において、前記ビッドを組合せの種類毎に分類するステップと、前記分類された組合せＣｉについて２次元の配列Ｖを割り当てるステップと、前記組合せＣｉの子集合が空集合であるかを判断し、前記判断が真の場合には前記配列Ｖのｎ＋１行目の各要素に０を代入するステップ、前記判断が偽の場合には前記配列Ｖのｎ＋１行目の各要素に前記組合せＣｉの全ての子集合についての配列Ｖの１行目の各要素の和を代入するステップを含む初期化ステップと、前記配列Ｖの再帰方程式を再帰的に解くステップと、を有することができる。
【００３５】
また、前記再帰方程式として、
【００３６】
【数１５】
0003579828.tif 000006
ただし、ｋは１以上ｎ以下の整数、ｊは０以上ｓ以下の整数、ｎは組合せＣｉにおけるビッド数、ｓは組合せＣｉに含まれる商品の取引可能な最小商品数、ｅｋはビッドｂｋにおける組合せの１組当たりの評価額、ｒｋはビッドｂｋにおける組合せ数量、あるいは、前記数１３あるいは数１４と同様の再帰方程式を適用できる。
【００３７】
また、前記組合せＣｉを要素とする全集合Ｃの部分集合であって、そのいずれの要素もＣの他の要素の子集合でない集合ＣＲについて、その配列Ｖを最小行最小列の要素からバックトラックし、ｎ＋１行目の要素に達した後、さらにその子集合の１行目からバックトラックすることにより、最適に前記商品が配分されるビッドを選択することができる。
【００３８】
なお、前記オークション方法に加えてこれを実現するシステムおよびその機能をコンピュータに実現させるプログラムが記録された記録媒体も本発明に含まれる。
【００３９】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。なお、実施の形態の全体を通して同じ要素には同じ番号を付するものとする。
【００４０】
以下の実施の形態では、主に方法またはシステムについて説明するが、当業者であれば明らかなとおり、本発明は方法、システムの他、コンピュータで使用可能なプログラムコードが記録された媒体としても実施できる。したがって、本発明は、ハードウェアとしての実施形態、ソフトウェアとしての実施形態またはソフトウェアとハードウェアとの組合せの実施形態をとることができる。プログラムコードが記録された媒体としては、ハードディスク、ＣＤ−ＲＯＭ、光記憶装置または磁気記憶装置を含む任意のコンピュータ可読媒体を例示できる。
【００４１】
本実施の形態で利用できるコンピュータシステム（情報処理装置）には、中央演算処理装置（ＣＰＵ）、主記憶装置（メインメモリ：ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ））、不揮発性記憶装置（ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ））等を有し、これらがバスで相互に接続される。バスには、その他コプロセッサ、画像アクセラレータ、キャッシュメモリ、入出力制御装置（Ｉ／Ｏ）等が接続される。バスには、適当なインタフェイスを介して外部記憶装置、データ入力デバイス、表示デバイス、通信制御装置等が接続されてもよい。その他、一般的にコンピュータシステムに備えられるハードウェア資源を備えることが可能なことは言うまでもない。外部記憶装置は代表的にはハードディスク装置が例示できるが、これに限られず、光磁気記憶装置、光記憶装置、フラッシュメモリ等半導体記憶装置も含まれる。なお、データの読み出しのみに利用できるＣＤ−ＲＯＭ等の読み出し専用記憶装置もデータあるいはプログラムの読み出しにのみ適用する場合には外部記憶装置に含まれる。データ入力デバイスには、キーボード等の入力装置、マウス等ポインティングデバイスを備えることができる。データ入力デバイスには音声入力装置も含む。表示装置としては、ＣＲＴ、液晶表示装置、プラズマ表示装置等が例示できる。本実施の形態のコンピュータシステムには、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等各種のコンピュータが含まれる。
【００４２】
本発明のオークションシステムを実現するコンピュータシステムとして、以下の実施の形態ではコンピュータネットワーク特にインターネットを用いたコンピュータシステムを例示する。ただし本発明はインターネットを用いたネットワークに限られず、たとえばＬＡＮ、ＷＡＮ、専用線で接続されたコンピュータネットワーク等その他のネットワークでも良い。あるいは、単一のコンピュータシステムとして適用することが可能である。
【００４３】
複数のコンピュータシステムで本発明を実現する場合、各コンピュータシステムで利用されるプログラムあるいはデータは、他のコンピュータシステム（例えばサーバ・コンピュータやデータベースサーバ）に記録されていても良い。つまり、コンピュータシステムで利用する一部のプログラムをリモートコンピュータ（例えば他のサーバコンピュータ又はクライアント・コンピュータ）で分散的に処理または実行できる。なお、他のコンピュータシステムに記録されたプログラムあるいはデータをアドレスで参照する場合には、ＤＮＳ、ＵＲＬ、ＩＰアドレス等を用いることができる。
【００４４】
なお、インターネットには、イントラネットおよびエクストラネットも含むものとする。インターネットへのアクセスという場合、イントラネットやエクストラネットへのアクセスをも意味する。コンピュータネットワークという用語には、公的にアクセス可能なコンピュータネットワークと私的なアクセスしか許可されないコンピュータネットワークとの両方が含まれるものとする。
【００４５】
（実施の形態１）
図１は、本実施の形態のオークションシステムの一例についてその概要を示した図である。本実施の形態のオークションシステムは、インターネット１を含み、インターネット１にはオークションサイトを提供するサーバシステム２、オークションに入札する利用者のコンピュータシステム３が接続される。なお、オークションの利用者はコンピュータシステム３に限られず、ＰＤＡ（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔｓ）４あるいはインターネットにアクセス可能な携帯電話５を利用することも可能である。また、オークションはオークション対象の商品の販売者自らがサーバシステム２を利用して運営するだけでなく、商品販売者からの委託を受けてサーバシステム２によって行われても良い。この場合、販売者はたとえばコンピュータシステム６からインターネット１を介してサーバシステム２にオークションの依頼を行うことができる。
【００４６】
インターネット１は、周知の通り、ＴＣＰ／ＩＰ（ｔｒａｎｓｍｉｓｓｉｏｎ  ｃｏｎｔｒｏｌ  ｐｒｏｔｏｃｏｌ／ｉｎｔｅｒｎｅｔ  ｐｒｏｔｏｃｏｌ）あるいはＵＤＰ（Ｕｓｅｒ  Ｄａｔａｇｒａｍ  Ｐｒｏｔｏｃｏｌ）で接続されるコンピュータネットワークである。また、利用者のコンピュータシステム３、ＰＤＡ４、携帯電話５、販売者のコンピュータシステム６は、ＨＴＴＰ（ｈｙｐｅｒｔｅｘｔ  ｔｒａｎｓｆｅｒ  ｐｒｏｔｏｃｏｌ）リクエストを発する機能とその応答であるＨＴＭＬ（ｈｙｐｅｒｔｅｘｔ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）またはＸＭＬ（ｅｘｔｅｎｓｉｂｌｅ  ｍａｒｋｕｐ  ｌａｎｇｕａｇｅ）で記述された文書を表示する機能を有する。これら機能を有する限り、コンピュータシステム３，６、ＰＤＡ４、携帯電話５には限られずその他情報処理装置を適用することが可能である。
【００４７】
図２は、本実施の形態のオークション方法の一例についてその概要を示したフローチャートである。
【００４８】
まず、オークションサイトを提供するサーバコンピュータ２は、オークションの入札条件を提示する（ステップ１１）。たとえば、対象商品名、在庫数（供給可能数量）、商品が複数種類の場合はビッド可能な商品セット、入札期限等である。なお、商品販売者からの委託による場合は、商品販売者のコンピュータシステム６からの入力に応じて入札条件を提示する。ただし、本実施の形態では単一商品の場合、あるいは複数商品の場合であっても単一商品についてのみビッドが可能な例を説明する。よって本実施の形態でビッド可能な商品は一種類である。なお、複数種類の商品がオークションの対象になっていても単一商品にのみビッドが許可されている時には各商品について別々のオークションが並立しているの場合と等価である。複数の商品がビッド可能な例は後述する。
【００４９】
次に、コンピュータシステム３、ＰＤＡ４、携帯電話５等オークションに参加する者からのビッドを受け取る（ステップ１２）。本実施の形態のビッドでは、購入希望商品の最大数量および最小数量の指定を含めることができる。たとえば「本当は１０００個欲しいが、少なくとも８００個は欲しい」という要求の場合に、最大量を１０００、最小量を８００としてビッドすることができる。資材等の調達においてはきわめて自然なビッドである。また、本実施の形態のビッドでは、商品１個あたりの評価額を購入数に応じて変化させることができる。たとえば「３台なら１５万円、４台なら２３万円、５台なら３０万円」というビッドが可能になる。大量に購入する場合にディスカウントを要求することは購買過程では良くあることであり、このような商慣習を許容するビッドを実現できる。
【００５０】
なお、ビッドは、前記した入札条件に合致したものを受け取り、条件に合致しないものはそのビッドが受け取れない旨のメッセージを提示者に返送することができる。
【００５１】
入札期間が満了した時、ビッドの受け取りを締め切り、それまでに提示されたビッドの集合Ｂ＝｛ｂ１，ｂ２，・・・，ｂｎ｝を生成する（ステップ１３）。ビッドの各要素ｂｋ（ｋ＝１，２，・・・，ｎ）には、商品の評価額ｅｋ（ｋ＝１，２，・・・，ｎ）のほか、前記の通り商品の購入希望最小個数ｌｋ（ｋ＝１，２，・・・，ｎ）、最大個数ｈｋ（ｋ＝１，２，・・・，ｎ）を含む。なお、ビッド集合Ｂの大きさは｜Ｂ｜＝ｓである。
【００５２】
また、本実施の形態では商品１個当たりの評価額が定数の場合だけでなく、購入数量に応じて評価額を変化することができる。このため、商品評価額ｅｋは購入する商品の数ｘの関数ｅｋ（ｘ）となる。
【００５３】
ビッド集合Ｂは商品毎に生成する。すなわち、単一種類の商品がオークションの対象であればその商品についてのビッドを、複数種類の商品が対象である場合には商品の種類毎のビッドを集める。
【００５４】
次に、生成されたビッド集合について、収益を最大にする最適解の計算を行う（ステップ１４）。最適解の計算は動的計画法を用いる。最適解の計算手法については後に詳述する。
【００５５】
次に、計算で求めた最適解についてバックトラックを行う（ステップ１５）。バックトラックによって収益を最大にするビッドの選択を行う。ここで選択されるビッドはビッド集合Ｂの部分集合であり、選択されたビッドの提示者がオークションの勝利者になる。なお、バックトラックの詳細は後に説明する。
【００５６】
次に、勝利者への通知を行い（ステップ１６）、各勝利者と商品の取引を行う（ステップ１７）。なお、勝利者は複数の場合のほか、単一の勝利者の場合もあり得る。また、勝利者は一般に後の取引を拒否できないが、商品販売者との取り決めによってビッドを解約する等のオプションを設けても良い。
【００５７】
以上のようにしてオークションが終了する。ただし、上記フローはあくまでも例示でありその他の処理フローを採用することも可能である。たとえば勝利者への通知を省略して勝利者の決定の後、速やかに取引を成立させることもできる。また、入札期間の満了を待たずに、ビッドを受け取る度に最適解の計算とその時点での勝利者の決定を行い、この結果を公表しても良い。この場合、入札期間満了の際の勝利者が最終的な勝利者となる。また、この場合、入札者は、入札状況を見ながら自己に有利なビッドを提示することが可能になる。あるいは、最低入札価格や最高入札価格を設ける等、その他の入札条件を付加することも可能である。
【００５８】
次に、最適解の計算ステップ（ステップ１４）を説明する。図３は、最適解の計算ステップの一例についてその概要を示したフローチャートである。まず、再帰計算の各ステップで評価額が記録される配列Ｖを生成し（ステップ２１）、次に配列Ｖの初期化を行う（ステップ２２）。その後、再帰計算を行う（ステップ２３）。
【００５９】
配列Ｖは計算対象のビッド集合Ｂの大きさ｜Ｂ｜と商品の在庫数（販売可能数）ｓに応じた大きさで生成される。具体的には（｜Ｂ｜＋１）×（ｓ＋１）の大きさの２次元配列を生成する。後に説明するように、配列Ｖの各要素には｜Ｂ｜からｋまでのビッドによって、列指標ｊで指標される個数の商品を残した時の最大評価額が記録される。
【００６０】
次に初期化ステップ（ステップ２２）を説明する。図４は初期化ステップ（ステップ２２）の詳細を示したフローチャートであり、数１６は初期化ステップを示した擬似コードである。
【００６１】
【数１６】
0003579828.tif 000007
但し、｜Ｂ｜はビッド集合Ｂの大きさ、ｓは在庫数である。
【００６２】
まず、変数ｊに０を代入し（ステップ３１）、Ｖ（｜Ｂ｜＋１，ｊ）に初期値０を代入する（ステップ３２）。ｊがｓであるかを判断し（ステップ３３）、偽であればｊに１を加算して（ステップ３４）、ステップ３２に戻る。すなわち、配列Ｖの（｜Ｂ｜＋１）行の各要素（０〜ｓ）についてその値を０に初期化する。次に、変数ｋに１を代入し（ステップ３５）、Ｖ（ｋ，ｓ）に初期値Ｖ（｜Ｂ｜＋１，ｓ）を代入する（ステップ３６）。ｋが｜Ｂ｜であるかを判断し（ステップ３７）、偽であればｋに１を加算して（ステップ３８）、ステップ３６に戻る。すなわち、配列Ｖのｓ列の各要素（１〜｜Ｂ｜）についてその値をＶ（｜Ｂ｜＋１，ｓ）に初期化する。
【００６３】
図５は、初期化が終了した段階での配列Ｖの各要素の値を示した図である。本実施の形態ではＶ（｜Ｂ｜＋１，ｓ）の値は「０」なので、ｓ列の値も「０」になる。よって、｜Ｂ｜＋１行およびｓ列の各要素の全てが０になる。
【００６４】
次に、再帰計算ステップ（ステップ２３）を説明する。図６は、再帰計算の処理フローの一例を示したフローチャートであり、数１７は再帰計算ステップと再帰計算に用いる再帰関数式を示した擬似コードである。
【００６５】
【数１７】
0003579828.tif 000008
但し、｜Ｂ｜はビッド集合Ｂの大きさ、ｓは在庫数、ｌｋはビッドｂｋに含まれる商品の購入希望最小個数、ｈｋはビッドｂｋに含まれる商品の購入希望最大個数、ｅｋ（ｘ）はビッドｂｋに含まれる商品をｘ個購入した時の評価額である。
【００６６】
前記初期化処理の終了の後、ポインタとして作用するｋとｊの各々にその初期値として｜Ｂ｜、ｓ−１を代入する（ステップ４１）。
【００６７】
次に商品の個数ｘに初期値としてｌｋを代入し、変数ＭａｘにＶ（ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）を代入する（ステップ４２）。なお、ｊ＋ｘがｓを越えてしまう場合、配列Ｖにはそのような要素を有しない。よって、このような場合には計算においてこれを考慮しなければよい。あるいはそのような場合のも配列Ｖの要素として値を記憶させる場合には−∞（あるいは十分小さな値）を代入することができる。
【００６８】
次に、ｘを１増分し、Ｖ（ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）がＭａｘより大きいかを判断する（ステップ４３）。前記判断が真の場合、ＭａｘをＶ（ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）に置き換え（ステップ４５）、前記判断が偽の場合前記置き換えをすることなくステップ４６に進む。
【００６９】
次に、ｘがｈｋであるかを判断し（ステップ４６）、この判断が偽である場合にはステップ４３に戻り、真の場合はステップ４７に進む。
【００７０】
すなわち、ステップ４２〜４６では、ｘがｌｋからｈｋの範囲においてその値が最大になるＶ（ｋ＋１，ｊ＋ｘ）＋ｅｋ（ｘ）を探索していることになる。
【００７１】
次に、Ｖ（ｋ，ｊ＋１）がＶ（ｋ＋１，ｊ）以上であるかを判断し（ステップ４７）、このステップ４７の判断が真の場合（Ｖ（ｋ，ｊ＋１）の方が大きい場合）、さらにＶ（ｋ，ｊ＋１）がＭａｘ以上であるかを判断する（ステップ４８）。ステップ４８の判断が真の場合にはＶ（ｋ，ｊ）にＶ（ｋ，ｊ＋１）の値を代入する（ステップ４９）。一方、ステップ４７の判断が偽の場合（Ｖ（ｋ＋１，ｊ）の方が大きい場合）、さらにＶ（ｋ＋１，ｊ）がＭａｘ以上であるかを判断する（ステップ５０）。ステップ５０の判断が真の場合にはＶ（ｋ，ｊ）にＶ（ｋ＋１，ｊ）の値を代入する（ステップ５１）。ステップ４８，５０の判断が偽の場合には、Ｖ（ｋ，ｊ）にＭａｘの値を代入する（ステップ５２）。すなわち、ステップ４７〜５２では、Ｖ（ｋ＋１，ｊ）、Ｖ（ｋ，ｊ＋１）、Ｍａｘのうち最も大きな値を探索し、この値をＶ（ｋ，ｊ）に記録する操作を行っている。
【００７２】
次に、ｊが０であるかを判断し（ステップ５３）、判断が偽の場合にはｊを１減じて（ステップ５４）、ステップ４２に戻り前記ステップを繰り返す。この操作をｊが０になるまで繰り返す（ステップ５３）。ｊが０になったとき、配列Ｖのｋ行の各要素に値が記録される。ｊが０になり、ステップ５３の判断が真になったとき、ステップ５５においてｋが１であるかを判断する（ステップ５５）。この判断が偽の場合はｋを１減じて（ステップ５６）、ステップ４２に戻り、前記ステップを繰り返す。すなわち、前記操作をｋが１になるまで繰り返す（ステップ５５）。ｋが１になった段階で配列Ｖの全要素が記録され、計算が終了する。
【００７３】
前記した通り、配列Ｖの各要素に記録される値の意味は、｜Ｂ｜からｋまでの行（ビッド）によって、列指標ｊで指標される個数の商品を残した時の最大評価額である。よって、Ｖ（１，０）には最大収益が記録される。
【００７４】
次に、バックトラックのステップ（ステップ１５）を説明する。図７は、バックトラックの一例を示したフローチャートである。
【００７５】
まず、変数ｋ、ｊおよびｍに各々初期値として１、０および１を代入し（ステップ６１）、Ｖ（ｋ，ｊ）が０であるかを判断する（ステップ６２）。この判断が真の時にはバックトラックを終了する（ステップ６３）。ステップ６２の判断が偽の時、ｘにｌｋを代入し（ステップ６４）、Ｖ（ｋ，ｊ）−Ｖ（ｋ＋ｍ，ｊ＋ｘ）がｅｋ（ｘ）であるかを判断する（ステップ６５）。ステップ６５の判断が真の時、ｋ番目のビッドは選択され、勝利者のビッド番号を記録する配列Ｗにｋを加える（ステップ６６）。その後ｋをｋ＋ｍに、ｊをｊ＋ｘに置き換え（ステップ６７）、ステップ６２に戻る。一方、ステップ６５の判断が偽の時、ｘを１増加し（ステップ６８）、ｘがｈｋを超えているかを判断する（ステップ６９）。ｘがｈｋを超えている時（ステップ６９の判断が真の時）にはｍを１増加して（ステップ７０）ステップ６４に戻り、ｘがｈｋを超えていない時（ステップ６９の判断が偽の時）にはステップ６５に戻る。上記操作をバックトラックが終了するまで繰り返す。
【００７６】
すなわち、バックトラックは、Ｖ（１，０）からｋおよびｊが大きくなる方向にＶの値をトレースし、ビッドｂｋの評価額ｅｋの和が最大収益であるＶ（１，０）の値になるように選択される。選択されたｋのビッドｂｋ（ｋ⊂Ｗ）を提示した者が勝利者となる。
【００７７】
以上のようにして勝利者を決定する。その後の勝利者への通知、取引については前記した通りである。
【００７８】
本実施の形態によれば、希望する商品の購入量を最大値および最小値で指定でき、また、評価額を購入量の関数として指定することができる。このようなビッドを許容することによって企業間の部品取引等、取引量の大きい資材等の取引を多様な要求に応じて円滑に進めることができる。また、このようなビッドから勝利者を決定する動的計画法の計算において前記したアルゴリズムを用いることにより、その計算量は高々Ο（｜Ｂ｜・ｓ２）である。ｈｋ−ｌｋの最大値をｍａとするとその場合の計算量はΟ（｜Ｂ｜・ｓ・ｍａ）である。現実の計算機において実用的な計算量であるといえる。すなわち、本実施の形態によれば、現実的な計算量で取引実態に即したビッドを許容できるオークション方法およびシステムを提供できる。
【００７９】
（実施の形態２）
実施の形態１で許容されるビッドの特別な場合として、たとえば「１個あたり６万円で３０個から５０個まで買います」というように購入量によって商品１個当たりの評価額が変化しない場合がある。すなわち商品の評価値関数が線形の場合である。この場合、前記した各状態の最適スコア（Ｖ）に加えて、その状態においてビッドがそれまでの獲得している商品数を保持することにより計算量を少なくできる。前記獲得商品数を記録するために配列Ｑを新たに導入する。
【００８０】
本実施の形態のオークションは、実施の形態１と同様なシステムを用いて行える。また、本実施の形態のオークション方法は、以下の通りである。
【００８１】
本実施の形態のオークション方法は、実施の形態１の図２におけるステップ１１〜１３までと同様である。本実施の形態において、最適解の計算ステップは実施の形態１の最適解の計算ステップ（ステップ１４および図３）とほぼ同様である。但し、ステップ２１の配列Ｖの生成ステップにおいては、配列Ｖに加えて配列Ｑが生成される。
【００８２】
また、本実施の形態において、初期化ステップは配列Ｖに加えて配列Ｑについても初期化される。数１８は本実施の形態における初期化ステップを示した擬似コードである。
【００８３】
【数１８】
0003579828.tif 000009
本実施の形態における再帰計算式を数１９に示す。
【００８４】
【数１９】
0003579828.tif 000010
なお、前記数式においてｅｋは商品１個あたりのビットｂｋにおける評価額である。その他は実施の形態１における数１７の場合と同様である。
【００８５】
数１９に示すように、Ｑ（ｋ，ｊ＋１）の値に応じてＶ（ｋ，ｊ＋１）あるいはＶ（ｋ，ｊ＋１）＋ｅｋの何れかを選択し、その選択された値、Ｖ（ｋ＋１，ｊ）、Ｖ（ｋ＋１，ｊ＋１）＋ｅｋｌｋのうち最も大きな値をＶ（ｋ，ｊ）に記録する。Ｑ（ｋ，ｊ）には、数１９に示すように、Ｖ（ｋ，ｊ）に記録された値に応じて前記数式に示された何れかの値を記録する。
【００８６】
前記計算を実施の形態１の図６のフローチャートと同様に、ｋ＝｜Ｂ｜から１に向かって、ｊ＝ｓ−１から０に向かって繰り返す。全ての再帰計算が終了すると実施の形態１と同様にＶ（１，０）に最大収益が記録される。
【００８７】
なお、本実施の形態のバックトラックとその後の処理（ステップ１５〜１７）は実施の形態１と同様であるため説明を省略する。
【００８８】
本実施の形態によれば、商品１個あたりの評価額が商品個数に依存しないので、配列Ｑにそのビッドでの既獲得商品数を記録することができ、計算量を実施の形態１の場合より少なくすることができる。本実施の形態の計算量はΟ（ｓ・｜Ｂ｜）である。
【００８９】
（実施の形態３）
前記実施の形態１，２では、１つのビッドが同時に扱うことができる商品の種類は１つである。このため複数種類の商品であっても、種類毎に別々のオークションを行うことと実質的には同じである。しかし、現実世界においてはいくつかの商品を同数注文したい場合がある。例えば、コンピュータを導入するときに、本体とディスプレイを同数購入したい場合などが考えられる。本実施の形態では、これを可能にするために同時に複数の種類の商品にまたがってビッドが可能なように前記実施の形態１，２を拡張する。
【００９０】
ただし、ビッドのできる商品の組合せに対して何ら制約がない場合は、最適な商品の分配を求める問題はＮＰ完全になる。よって問題を効率的に解けるよう同時にビッドをすることができる商品の組合せに対し制約を設ける。
【００９１】
図８はビッドを許されるアイテムセットの包含関係を例示した図である。図示するような木状あるいは図示する木がいくつか集まった森状になるような商品（アイテム）のセットについてビッドが許可される。すなわち、ビッドを許される商品の組合せが、任意の２つの組合せに対し、片方がもう片方の部分集合であるか、あるいは２つの集合は共通部分をもたないとする。例えば許されるビッドの組合せとして、（コンピュータ）、（ディスプレイ）、（プリンタ）、（コンピュータおよびディスプレイ）、（コンピュータおよびディスプレイおよびプリンタ）が例示できる。これら商品セットに対するの例として、たとえば、ビッドＡ：「コンピュータとディスプレイのセットを１セット１２万で８０−１００セット」、ビッドＢ：「コンピュータとディスプレイとプリンタのセットを１セット２３万で２０−３０  セット」、ビッドＣ：「コンピュータを一台７万で１２０−１５０台」等のビッドが例示できる。
【００９２】
より正確に説明すると、２つのビッドできる商品の組合せＣｉとＣｊ（ｉ＜ｊ）に対し、Ｃｉ∩Ｃｊ≠φ、または、Ｃｉ⊂Ｃｊ、の条件が成立する場合に本実施の形態のビッドが許される。図８に例示する場合にビッドが許される組みあわせは、Ｃ１＝｛コンピュータ｝、Ｃ２＝｛ディスプレイ｝、Ｃ３＝｛プリンタ｝、Ｃ４＝｛コンピュータ，ディスプレイ｝、Ｃ５＝｛コンピュータ，ディスプレイ，プリンタ｝となる。
【００９３】
このような商品セットに関する条件のもとで前記実施の形態１、２のアルゴリズムを階層的に適用することにより、最適な商品の分配を求めるアルゴリズムを与えることができる。なお、以下の説明で用いる記号の定義を行う。Ｐａｒｅｎｔ（Ｃｉ）  をＣｉ ⊂  Ｃｊ  ａｎｄ  Ｃｉ  ≠  Ｃｊ  を満たす最小のｊとする。Ｃｈｉｌｄｒｅｎ（Ｃｉ）を  ｉ  ＝  Ｐａｒｅｎｔ（Ｃｊ）  を満たすすべてのｊの集合とする。ＣＲ をＣの部分集合で、ＣＲのどの要素もＣの中のほかの要素の子でないものの集合であるとする。言い換えればＣＲ は森をつくるそれぞれの木の根である。ｓＣｋ  を商品の組みあわせＣｋ  に含まれる各々の商品の在庫のうち最小のものとする。つまりｓＣｋ  は、ｓＣｋ  ＝  ｍｉｎａ∈Ｃｋｓａ  を満たす。
【００９４】
以下本実施の形態のオークションを説明する。本実施の形態のオークションシステムは、実施の形態１と同様である。また、本実施の形態のオークション方法における入札条件の提示およびビッドの受け取りは、実施の形態１の図２のステップ１１，１２と同様である。本実施の形態におけるビッド集合の生成は、実施の形態１と相違し、ビッド可能な商品の組合せＣｉ毎にビッド集合｛ＢＣｉ｝を生成する。
【００９５】
本実施の形態の最適解の計算（図２のステップ１４に相当）は、以下の通り行う。まず、配列Ｖを実施の形態１と同様に生成する。但し、ここでの配列は、Ｃｉもその要素に含む３次元配列であり、｜Ｃ｜×（ｍａｘｉ｜ＢＣｉ｜＋１）×（ｍａｘａｓａ＋１）の大きさの配列である。但し、｜Ｃ｜はビッド可能な商品の組合せ集合Ｃ（｛Ｃ１，Ｃ２，・・・，Ｃ｜Ｃ｜｝の大きさである。ｍａｘｉ｜ＢＣｉ｜は最大の｜ＢＣｉ｜であり、ｍａｘａｓａは最大のｓａである。なお、配列は必ずしも３次元である必要はなく、組合せＣｉごとの２次元配列としても良い。
【００９６】
次に、商品の組合せＣｉについて、Ｃｈｉｌｄｒｅｎ（Ｃｉ）がφ（空集合）であるか否かを判断し、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φである商品の組合せについてまず計算を行う。数２０は、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φの場合の初期化ステップを示した擬似コードである。初期化ステップは実施の形態１と同様である。
【００９７】
【数２０】
0003579828.tif 000011
次に、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φである商品の組合せについて再帰計算を行う。再帰計算式は、実施の形態１における数１７あるいは実施の形態２における数１９を用いることができる。ビッドに希望商品数の最大値および最小値を含み、購入数に応じて１個あたりの評価額が変化する時には数１７を、１個あたりの評価額が変化しない時には数１９を用いる。また、希望商品数に上下限がない時には、再帰計算式として従来技術の数１２を用いることができる。
【００９８】
ただし、再帰計算のループは、｜ＢＣｉ｜から１に向かって、ｓＣｉから０に向かって計算する。ここの計算ステップは実施の形態１と同様である。
【００９９】
次に、Ｃｈｉｌｄｒｅｎ（Ｃｉ）≠φの場合について計算する。数２１はＣｈｉｌｄｒｅｎ（Ｃｉ）≠φの場合の初期化ステップを示した擬似コードである。
【０１００】
【数２１】
0003579828.tif 000012
数２１に示すように、Ｃｉに子集合が存在する時には、その子集合についてＶ（Ｃｉ，１，ｊ）の和をＶ（Ｃｉ，｜Ｂｃｉ｜＋１，ｊ）に初期値として代入する。
【０１０１】
そして、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φの場合と同様に再帰計算を行う。再帰計算式は、Ｃｈｉｌｄｒｅｎ（Ｃｉ）＝φの場合と同じ計算式を用いる。再帰計算のループが｜ＢＣｉ｜から１に向かって、ｓＣｉから０に向かって計算する点もＣｈｉｌｄｒｅｎ（Ｃｉ）＝φの場合と同じである。
【０１０２】
上記のようにして最適化計算が終了した段階で、森を形成する木（ＣＲとその子供）毎に最適収益がに代入される。よって、森全体の最大収益は、ΣＣｉ∈ＣＲ  Ｖ（Ｃｉ，１，０）となる。
【０１０３】
次に、実施の形態１と同様にバックトラックを行う。但し、本実施の形態では商品の森型の階層構造を仮定しているが、実際には各木毎にオークションが行われていると考えることができるので、バックトラックは各Ｃｉ∈ＣＲを根に持つ木毎に次のように行われる。まず、Ｖ（Ｃｉ，１，０）からバックトラックを行う。その結果、Ｖ（Ｃｉ，｜ＢＣｉ｜＋１，ｋ）  に到達したとする。そこから各Ｃｊ∈Ｃｈｉｌｄｒｅｎ（Ｃｉ）に分岐し、Ｖ（Ｃｊ，１，ｋ）から引き続きバックトラックを行う。以下同様にして、葉ノードのバックトラックまで引き続き行う。以上のようにして最適な分配を実現するビッドを選択することができる。
【０１０４】
本実施の形態によれば、商品の組合せについても一定の制限を設けることによってＮＰ完全を回避し、実用的な計算量で最大の収益を達成するビッドを選択することができる。なお、本実施の形態のアルゴリズムを採用した計算の計算量は、Ο（｜Ｂ｜・ｍａｘｋ・ｓｋ）となる。ｍａｘｋは各組み合わせについてのビッド集合のうち最大のビッド数である。また、１個当たりの商品の評価額が変化する場合（非線形の場合）の計算量は、Ο（｜Ｂ｜・（ｍａｘｋ・ｓｋ）２）となる。
【０１０５】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【０１０６】
たとえば、実施の形態１において、Ｖ（ｋ，ｊ＋１）、Ｖ（ｋ＋１，ｊ）、Ｖ（ｋ＋１，ｊ＋１）＋ｅｋ（ｘ）のうち最大数を求めるアルゴリズムとして、各値を逐一比較する例を説明したが、これに限られない。その他、引数として与えられた数値群から最大値を選択するｍａｘ関数を実現するアルゴリズムを採用できる。
【０１０７】
また、本発明におけるバックトラックの手法は前記実施の形態において採用した手法には限られない。たとえば、図６におけるステップ４９，５２，５１において、何れの要素から配列Ｖ（ｋ，ｊ）が計算されたかを情報ポインタとして記録することができる。つまり、情報ポインタとしてＰ（ｋ、ｊ）＝（ａ，ｂ）として起源になる配列要素を記録し、このポインタを辿ってバックトラックのルートを探索できる。なお、この場合、変数Ｍａｘの値が計算された起源となるｘの値を記録し、ステップ５２が採用された時のＭａｘの起源となる要素を記録する必要がある。
【０１０８】
また、前記実施の形態では、インターネットを用いたオークション方法を説明したが、これに限られない。専用線その他システムに端末として接続された入力装置からビッドあるいは売り情報が入力されても良い。また、ビッドその他の情報は情報処理手段および通信手段を用いて伝送される必要はなく、たとえば電話等による情報の伝送と人手を介した本システムへの情報の入力によっても良い。
【０１０９】
【発明の効果】
本願で開示される発明のうち、代表的なものによって得られる効果は、以下の通りである。すなわち、多種類、多量の在庫が存在する場合の、多量の取引対象（商品）に対してビッドが行われるような組合せオークションの勝利者決定の問題に対して解法を与えることができる。また、現実的な計算量で実行可能な、商品の組合せに対するビッドを許容するオークション方法およびシステムを提供できる。また、現実的な計算量で実行可能な、商品の希望数量に幅を持たせたビッドを許容するオークション方法およびシステムを提供できる。また、現実的な計算量で実行可能な、商品の数量に応じて評価額を変えることが可能なビッドを許容するオークション方法およびシステムを提供できる。
【図面の簡単な説明】
【図１】本発明の一実施の形態であるオークションシステムの一例についてその概要を示した図である。
【図２】本発明の一実施の形態であるオークション方法の一例についてその概要を示したフローチャートである。
【図３】最適解の計算ステップの一例についてその概要を示したフローチャートである。
【図４】初期化ステップの詳細を示したフローチャートである。
【図５】初期化が終了した段階での配列Ｖの各要素の値を示した図である。
【図６】再帰計算の処理フローの一例を示したフローチャートである。
【図７】バックトラックの一例を示したフローチャートである。
【図８】ビッドを許されるアイテムセットの包含関係を例示した図である。
【符号の説明】
１…インターネット、２…サーバコンピュータ（サーバシステム）、３…コンピュータシステム、４…ＰＤＡ、５…携帯電話、６…コンピュータシステム。
【図１】
0003579828.tif 000013
【図２】
0003579828.tif 000014
【図３】
0003579828.tif 000015
【図４】
0003579828.tif 000016
【図５】
0003579828.tif 000017
【図６】
0003579828.tif 000018
【図７】
0003579828.tif 000019
【図８】
0003579828.tif 000020