GithubHelp home page GithubHelp logo

xuanduo / iauction-algorithm Goto Github PK

View Code? Open in Web Editor NEW

This project forked from iu-vail/iauction-algorithm

0.0 0.0 0.0 16 KB

Fast task allocation (assignment) algorithm

License: MIT License

C++ 98.64% Makefile 1.36%

iauction-algorithm's Introduction

#
# PLEASE READ THIS FILE FIRST.
#
# This is a centralized version of an optimal assignment algorithm based on 
# our paper "Optimal Market-based Multi-Robot Task Allocation via Strategic 
# Pricing" published in RSS 2013. The algorithm is written in C++
# (using STL as main data structures). 
#
# The algorithm assumes the input a MAXIMIZATION problem.
# 
# The time complexity of this implementation is O(N^3 lg N), but is tested  
# faster than other algorithms of the same time complexity. (Make sure the
# DEBUG mode is turned off when running large size problem!)

# Moreover, this algorithm in nature can be decentralized.

# 11/2012

# Last update: on 6/2018
# The code was written a few years ago, but still compiled and worked like a charm on the latest linux system.
# Papers and related work can be found at http://vail.sice.indiana.edu
# Lantao Liu, <[email protected]>


# -----------------------------------------------

# The code has been tested in Ubuntu 10.04+ and Mac OS 10.5., with gcc4.3.3.

To compile, just type 'make'
To clean, just type 'make clean'

! Micros of DEBUG in Define.h can toggle the debug mode;
! Micros of INTEGER in Define.h can toggle the data types of random values;
! Micros of MAX_RANDOM in Define.h specifies the max random values;

Command Line:
Type "./iAuction -h" to prompt below usage options.

	./iAuction
		-i <file>       #specify <file> which assignment will be 
				#imported from. <file> contains a matrix.
				#Default: randomly generating assingment
		-s <size_t>     #use random generator instead of input file,
				#<size_t> should specify seed for generator,
				#this helps analyze one specific assignment
				#Default: time(Null)
		-n <size_t>	#if use random generator, tell me the size
				#Default: 5x5

				#The random generater by default can genenerate
				#natrual number from 0 to 100. You can grep and
				#change macro MAX_RANDOM for other values
				

For instance:
	./iAuction
		run iAuction with a 5x5 random assignment everytime.
	./iAuction -i example
		run iAuction on this example assignment
	./iAuction -s 10 
		run iAuction with random seed 10, on a default 5x5 assignment
	./iAuction -s 10 -n 20
		run iAuction with random seed 10, on a 20x20 assignment
	

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.