竞赛:| 全国大学生数模竞赛 | 全国研究生数模竞赛 | 全国大学生电工数模竞赛 | 美国"MCM/ICM" 竞赛 |
 资讯:| 数学理论 | 交叉学科 | 基础教育 | 考研数学 | 学术动态 | 编程交流 | 网络安全 | 经验技巧 |
 下载:| 数 学 篇 | 算 法 篇 | 建 模 篇 | 编 程 篇 | 数 据 篇 | 软 件 篇 | 考 研 篇 | 交叉学科 |
 视频:| 大学数学 | 大学英语 | 计 算 机 | 法律课程 | 政治课程 | 经济管理 | 数学建模 | 高考数学 |
 功能:| 矩阵论坛 | 学校协会 | 挑 战 赛 | 人才招聘 | 数学问吧 | "MC"理工浏览器 | "MCQ"即时通讯 |

 
会员中心
社区论坛
加入收藏
联系我们
您现在的位置: 数学中国 >> 资讯无限 >> 科技时代 >> 学术动态 >> 正文
【字体:           
 
Combinatorial Auction Test Suite (CATS) Version 2.0
作者:lala    文章来源:本站原创    点击数:    更新时间:2006-11-30

Combinatorial Auction Test Suite (CATS) Version 2.0

Table of Contents

1.   Introduction: What is CATS?
2.   Contents of this distribution
3.   Compiling and executing
4.   File Formats
5.   License Agreement

1.  Introduction

The Combinatorial Auction Test Suite (CATS) was designed to answer a growing need in the academic community: testing, benchmarking and comparing algorithms for solving the combinatorial auction winner determination problem.  For details about the combinatorial auction winner determination problem, references, and a detailed description of all CATS distributions see:

Towards a Universal Test Suite for Combinatorial Auction Algorithms, Leyton-Brown, K., Pearson, M., & Shoham, Y., in the proceedings of ACM Conference on Electronic Commerce (EC-00), 2000.

Abstract:
General combinatorial auctions---auctions in which bidders place unrestricted bids for bundles of goods---are the subject of increasing study. Much of this work has focused on algorithms for finding an optimal or approximately optimal set of winning bids. Comparatively little attention has been paid to methodical evaluation and comparison of these algorithms. In particular, there has not been a systematic discussion of appropriate data sets that can serve as universally accepted and well-motivated benchmarks. We propose a suite of distribution families for generating realistic, economically motivated combinatorial bids in five broad real-world domains. We hope that this work will yield many comments, criticisms and extensions, bringing the community closer to a universal combinatorial auction test suite.

For descriptions of the advanced features new in CATS 2.0 and their applications see:

Boosting as a Metaphor for Algorithm Design, Leyton-Brown, K., Nudelman, E., Andrew, G., McFadden, J., & Shoham, Y., a working paper. Two short versions covering different aspects of the full paper were presented at IJCAI '03 and Constraint Programming '03.

For a complete list of general CATS parameters, run CATS with the -help flag.  For a list of parameters for any particular distribution, run CATS with the -help flag and -d .  Helpful information about using CATS can be found on this page or in the CATS User Guide, available here in pdf format.

2.  Contents of this distribution

This distribution of CATS includes a single executable that can be used to generate from all five distributions described in sections 4.1-4.5 of the original CATS paper.

Paths is essentially as described in section 4.1 Paths in Space.   The paths distribution has been modified to address two problems that would occur in the original: a significant number of goods (10-30%) would not be part of any bid, and there would often be single bids or groups of bids that did not share any goods with the others.  These situations should not occur in CATS 2.0-- every good occurs in at least one bid, and the bid conflict graph (a graph with a node for every bid and an edge connecting bids that share some good) is guaranteed to be connected.

Regions is described in section 4.2 Proximity in Space.  The current version mirrors the one described in the paper with the following corrections:

  • In the bid generation routine, we make bids on DISTINCT bundles. That is, we make XOR bids on all B_i such that two copies of the same bid do not appear.
  • The routine Add_Good_To_Bundle now first checks to see if the bundle is already full and, if so, it does nothing.
  • On the line for bid generation which contains "For each good, reset p(g) = rand(-deviation * max_good_value, deviation + max_good_value)" there is the typeo. The plus should be another star. That is, the line should read, "For each good, reset p(g) = rand(-deviation * max_good_value, deviation * max_good_value)"
  • In the graph generation routine, we use floor(sqrt(num_goods)) rather than the ceiling.

The following clarifications should be made regarding the distribution:

  • In the bid generation routine, the phrase "if value(B) <= 0 on B, restart ..." is redundant. We simply mean, "if value(B) <= 0, restart ..."
  • In the bid generation routine, notice we generate a bid on B before beginning to search for substitutable bids. If you read the algorithm closely, you notice that we can actually generate MAX_SUBSTITUTABLE_BIDS+1 XORed bids. After all, we bid on B, then we generate at most MAX_SUBSTITUTABLE_BIDS addition XORed bids.

Arbitrary is described in section 4.3 Arbitrary Relationships.  This distribution relies on much of the same code as "regions" in exactly the way described in the paper. Notice, however, the corrections and clarifications to the regions bid generation program, described above.

Matching is described in section 4.4 Temporal Matching.  The current version mirrors the one described in the paper with the following corrections:

  • Now use max(LONGEST_FLIGHT_TIME, num_times) whereever LONGEST_FLIGHT_TIME appears. This corrects against problems that can appear if flight time required is actually more time than is for sale.

Scheduling is described in section 4.5 Temporal Scheduling.  The current version mirrors exactly the one described in the paper.

Legacy distributions L1 through L8 as described in the paper are also available.  Due to the difficulty in generating large numbers of non-dominated bids with L1 and L5, a warning message will be shown if they are used.

Running CATS with the "-cats2cplex" flag followed by input and output filenames will run the built-in file converter.

3.  Compiling and executing

We have compiled and tested these algorithms on Sun/Solaris, Linux and Windows XP using g++.  You will probably have to edit the Makefile to get CATS to compile on your system. If there are compilation problems, check the library and include directories in the Makefile. The current Makefile is configured to compile in Linux. To solve linear programming problems, CATS uses a free library called lp_solve 4.0 by default, which is included with the distribution. If you have access to CPLEX 8.0, we strongly recommend using it in place of lp_solve 4.0. This requires only changing the comments in the Makefile (more precise instructions are in the Makefile).  To compile on UNIX, also remove the -DLINUX flags. To compile on Windows systems, replace the -DLINUX flags with -DWIN32.  Also, to compile under other systems, the following changes will (probably) need to be made:

  • srand48() should be replaced with the local system's routine to seed the random number generator with an unsigned long integer.  All the current programs seed the random number generator with a call to the system clock.
  • drand48() should be replaced with the local system's routine to generate a random real number between 0 and 1.
  • lrand48() should be replaced with the local system's routine to generate a non-negative long integer.

4.  File Formats

Each program in this suite outputs a file with the following format:

% comments

...

goods
bids
0  
1  
...
 
 

where (i between 0 and NUMBER OF BIDS-1, inclusive) represents:

      ...   #

where each good number is between 0 and NUMBER OF GOODS-1

Informally, the file format is: any number of comment lines beginning with percent sign, the word "goods" followed by the total number of goods, on the next line, the word "bids" followed by the total number of bids.  Then each following line is the bid number, followed by the price, followed by each good-number requested, all terminated by a pound sign.  Each line that represents a bid is tab-delimited.

It is also possible to output in CPLEX format (in addition to CATS format) with the -cplex flag, and to convert from CATS to CPLEX using the -cats2cplex flag.

Most distributions included in this test suite generate real valued prices.  Should you wish to test on a combinatorial auction solver that only takes integer valued prices (e.g., modeling an auction with a bidding increment), you can add the -int_prices flag to the command line.   Note that this constant factor by which you multiply through must be significant -- for instance, if you rescale the prices to integers between 0 and 5, the difficulty of the problem may change.  The default factor is 1000; you can change it using the -bid_alpha flag followed by the new factor.  If you publicize results of your algorithm on the distribution, be sure to mention what factor you used! :-)

5.  License Agreement

Combinatorial Auction Test Suite (CATS)
Copyright 2003.  All Rights Reserved.
This license information must be included with the CATS code.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

                        CONDITIONS

  1. Redistributions of source code must retain the above copyright notice, this list of conditions, and the following disclaimer.
  2. Redistributions in binary form must contain the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  3. All modifications to the source code must be clearly marked as such.  Binary redistributions based on modified source code must be clearly marked as modified versions in the documentation and/or other materials provided with the distribution.
  4. Notice must be given of the location of the availability of the unmodified current source code, e.g., http://robotics.stanford.edu/CATS/ in the documentation and/or other materials provided with the distribution.
  5. No part of the program, its source code, binaries or anything derived from it can be used for profit without written permission from the copyright holders.

                        DISCLAIMER

This software is provided "as is" and any expressed or implied warranties, including, but not limited to, the implied warranties of merchantability and fitness for a particular purpose are disclaimed.  In no event shall any of its authors or contributors be liable for any direct, indirect, incidental, special, exemplary, or consequential damages (including, but not limited to, procurement of substitute goods or services; loss of use, data, or profits; or business interruption) however caused and on any theory of liability, whether in contract, strict liability, or tort (including negligence or otherwise) arising in any way out of the use of this software, even if advised of the possibility of such damage

 

文章录入:scutchacha    责任编辑:madio  
  • 上一篇文章:

  • 下一篇文章:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    推 荐 文 章
    更多内容
     
    热 门 文 章  
    更多内容
     

    费马小定理
    相 关 文 章
    更多内容
     
    数学建模论文格式要求
    Writting IEEE papers…
    | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 管理登录 |