资源说明:Try to minimize the occurrence of duels in a F3K contest
F3K contest drawing =================== License: -------- ## This software is copyrighted by Jos Decoster. The following terms apply to all files associated with the ## software unless explicitly disclaimed in individual files. ## ## The authors hereby grant permission to use, copy, modify, distribute, and ## license this software and its documentation for any purpose, provided that ## existing copyright notices are retained in all copies and that this notice ## is included verbatim in any distributions. No written agreement, license, ## or royalty fee is required for any of the authorized uses. ## ## IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY PARTY FOR ## DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT ## OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION, OR ANY DERIVATIVES THEREOF, ## EVEN IF THE AUTHORS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ## ## THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES, ## INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, ## FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT. THIS SOFTWARE IS ## PROVIDED ON AN "AS IS" BASIS, AND THE AUTHORS AND DISTRIBUTORS HAVE NO ## OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR ## MODIFICATIONS. ## ## RESTRICTED RIGHTS: Use, duplication or disclosure by the U.S. government ## is subject to the restrictions as set forth in subparagraph (c) (1) (ii) ## of the Rights in Technical Data and Computer Software Clause as DFARS ## 252.227-7013 and FAR 52.227-19. Introduction: ------------- This is an experiment to generate groups for an F3K contests using the following constraints: - Two pilots should be in the same group as few times as possible - Two pilots should be in the same group at least once or by minimising the mean absolute deviation (MAD) of the draw. The MAD is calculated as used by Gerry Carter in his GliderScore program and is a measure for the distribution of the duels in the draw. Different methods are used: - Choosing best of a number of random draw - Starting from a random draw, try to remove most occurring duels or introduce non-occurring duels using Simulated annealing. Requirements: ------------- - Tcl/Tk to generate HTML and XML output Building the tool: ------------------ - Clone the Git repository git clone git://github.com/jdc8/F3K-contest-drawing.git - On Linux, use the following command: make - On Windows, use the following command: nmake /f Makefile.vc Running the tool: ----------------- Run the tool as follows: f3ksa #pilots #rounds #method #pilots_in_group1 ?#pilots_in_group2? ... #pilots Number of pilots in the contest #rounds Number of rounds/tasks in the contest #method Method used to draw the contest, see below #pilots_in_group1 Number of pilots in first group ?#pilots_in_group2? Number of pilots in second group ... ... ?c , ? Conflicting pilots (e.g. frequency conflict) ... ?T , ,...? Team pilots ... ?t ? Minimum temperature when using simulated annealing (< 0.008) ?o ? Output file, default is 'f3k.txt', use 'data' to add to 'data' directory with formatted name. Know drawing methods, specified as integer: f Use built-in cost fucntion < 0 Best of abs(specified number) of drawings 0 Worst case 1 Minimize number of duels with highest frequency > 1 Minimize number of duels with highest frequency until specified number is reached, then try to maximize that number of duels while trying to avoid pilots not duelling m? ? Use mean absolute deviation no integer Minimize the mean absolute deviation < 0 Best of abs(specified number) of drawings > 0 Minimize the mean absolute deviation with extra cost for duels with frequency 0 and with frequency >= specified integer Methods > 0 use simulated annealing. When results are written in the data subdirectory the file name is created as follows: f3k_<#pilots>p_<#rounds>r_<#pilots in group 1>?_<#pilots in group 2>...?_ .txt The method is used in the file name as: < 0 random 0 worstcase > 0 <#method>siman When using the mean absolute deviation, _mad is appended to the part. Example: - 20 pilots, 2 groups, 10 tasks, best of 1000 drawings f3ksa 20 10 -1000 10 10 - 20 pilots, 2 groups, 10 tasks, minimize number of duels with highest frequency f3ksa 20 10 1 10 10 The result for this drawing is printed to file f3k_20p_10r_10_10_1siman.txt as follows: pilots 20 rounds 10 groups 10 10 method simulated_annealing max_duels 1 round 1 {{2 14 18 6 0 1 7 13 5 10} {8 19 17 12 9 16 3 4 11 15}} round 2 {{13 3 1 19 11 0 5 14 17 8} {7 2 4 6 12 16 18 9 10 15}} round 3 {{7 14 8 5 1 4 17 9 2 0} {6 10 12 16 19 13 18 15 3 11}} round 4 {{7 16 15 19 2 13 8 14 18 17} {1 3 5 6 12 0 9 10 11 4}} round 5 {{8 19 5 4 2 10 16 6 13 3} {14 11 17 1 7 18 15 0 12 9}} round 6 {{7 6 5 15 0 17 8 10 11 4} {14 16 19 3 1 2 18 9 13 12}} round 7 {{17 12 0 6 13 9 4 7 11 19} {1 10 18 15 2 8 16 14 3 5}} round 8 {{4 19 12 16 18 11 5 17 1 6} {8 13 10 9 3 7 15 2 14 0}} round 9 {{10 13 7 9 11 14 16 4 5 15} {3 12 6 17 8 18 19 0 2 1}} round 10 {{15 5 18 9 14 6 0 8 19 11} {13 17 1 3 10 12 4 7 2 16}} duel_frequencies 0:2 2:11 4:92 6:85 matrix - 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 matrix 0 - 6 4 4 4 6 6 6 6 6 4 6 4 4 6 4 0 6 4 4 matrix 1 6 - 6 6 4 6 4 4 4 4 4 4 6 4 6 2 4 6 6 4 matrix 2 4 6 - 6 4 4 4 6 6 4 6 0 4 6 6 4 6 4 6 4 matrix 3 4 6 6 - 4 4 4 2 6 4 6 4 6 6 4 4 6 4 4 6 matrix 4 4 4 4 4 - 6 6 6 4 6 6 6 6 4 2 4 6 6 2 4 matrix 5 6 6 4 4 6 - 6 4 6 4 6 6 2 4 6 4 4 4 4 4 matrix 6 6 4 4 4 6 6 - 4 4 4 6 6 6 4 2 4 4 4 6 6 matrix 7 6 4 6 2 6 4 4 - 4 6 6 4 4 6 6 6 4 6 4 2 matrix 8 6 4 6 6 4 6 4 4 - 4 4 4 2 4 6 6 4 6 4 6 matrix 9 6 4 4 4 6 4 4 6 4 - 4 6 6 4 6 6 4 4 4 4 matrix 10 4 4 6 6 6 6 6 6 4 4 - 4 4 6 4 6 6 2 4 2 matrix 11 6 4 0 4 6 6 6 4 4 6 4 - 6 4 4 6 4 6 4 6 matrix 12 4 6 4 6 6 2 6 4 2 6 4 6 - 4 2 4 6 6 6 6 matrix 13 4 4 6 6 4 4 4 6 4 4 6 4 4 - 6 4 6 4 4 6 matrix 14 6 6 6 4 2 6 2 6 6 6 4 4 2 6 - 6 4 4 6 4 matrix 15 4 2 4 4 4 4 4 6 6 6 6 6 4 4 6 - 6 4 6 4 matrix 16 0 4 6 6 6 4 4 4 4 4 6 4 6 6 4 6 - 4 6 6 matrix 17 6 6 4 4 6 4 4 6 6 4 2 6 6 4 4 4 4 - 4 6 matrix 18 4 6 6 4 2 4 6 4 4 4 4 4 6 4 6 6 6 4 - 6 matrix 19 4 4 4 6 4 4 6 2 6 4 2 6 6 6 4 4 6 6 6 -
本源码包内暂不包含可直接显示的源代码文件,请下载源码包。