This document describes the GAMS/SELKIE solver for equilibrium models. This is a research code, so you should set your expectations accordingly. It doesn't come with extensive documentation or a history of continuous development and improvement. To learn more about the algorithms SELKIE implements and related topics, see Y. Kim's Ph.D. thesis or home page.
somewhere before the solve statement in the GAMS source. If SELKIE has been selected as the default EMP solver (e.g. by including EMP=selkie
in the command line arguments of the GAMS run) the above statement is not necessary.
SELKIE-specific options can be specified by using a solver option file. While the content of an option file is solver-specific, the details of how to create an option file and instruct the solver to use it are not. This topic is covered in section The Solver Options File.
Option | Description | Default |
agent_group | groups of agents | empty |
convergence_tolerance | convergence tolerance of residual | 1e-6 |
coupling_constraints | names of coupling constraints | empty |
coupling_variables | names of coupling variables | empty |
cumulative_iteration_limit | maximum number of cumulative iterations | 5000 |
damping_factor | damping factor b/w old and new values | 1.0 |
dantzig_wolfe_initial_samples | initial number of samples for DW decomposition | 100 |
dantzig_wolfe_master_subsolveropt | Subsolver option number for the master of DW | |
dantzig_wolfe_subproblem_subsolveropt | Subsolver option number for the sub of DW | |
decomposition_method | decomposition method to apply
diagonalization : Diagonalization
dantzig_wolfe : Dantzig-Wolfe | diagonalization |
delay_residual_check | delay residual checking | 0 |
detect_independent_groups | detect independent groups of agents | 0 |
deviation_agent_list | agents whose deviations are computed | empty |
deviation_convergence_tolerance | convergence tolerance of deviation | 1e-10 |
deviation_delay_tolerance | deviation tolerance until residual is not checked | 1e-8 |
diagonalization_method | see the values below
gauss_seidel : Gauss-Seidel
gauss_seidel_random : Randomized Gauss-Seidel
gauss_seidel_random_sweep : Randomized Gauss-Seidel with sweep
gauss_southwell : Residual-based Gauss-Seidel
jacobi : Jacobi | gauss_seidel |
epsilon | ignored if abs is less than this | 1e-8 |
major_iteration_limit | maximum number of major iterations | 100 |
minor_iteration_limit | maximum number of minor iterations | 1000 |
nlp_solver | NLP solver
antigone : Antigone
baron : Baron
conopt : Conopt
conopt4 : Conopt4
ipopt : Ipopt
knitro : Knitro
lindo : Lindo
lindoglobal : Lindoglobal
minos : Minos
mosek : Mosek
scip : Scip
snopt : Snopt | conopt |
output | whether to output logs | 1 |
output_group_log | whether to output group logs | 0 |
output_iteration_log | whether to output iteration logs | 1 |
output_subsolver_log | whether to output subsolver logs | 0 |
parallel_agent_generation | generate agents problems in parallel | 0 |
parallel_jacobi | run jacobi in parallel | 0 |
proximal_increase_factor | increasing factor for proximal term | |
proximal_initial_maximum | initial maximum value of proximal term | |
proximal_maximum | maximum of proximal term | |
proximal_merit_factor | factor that is multiplied to residual | |
proximal_minimum | minimum value of proximal term | |
proximal_perturbation | penalty value of proximal term | |
proximal_perturbation_dual | penalty value of dual proximal term | |
proximal_perturbation_primal | penalty value of primal proximal term | |
proximal_residual_change | ratio of residual change | |
proximal_shrink_factor | shrinking factor for proximal term | |
proximal_use | determine the proximal mode | empty |
record_ownership_within_group | record ownership of agents within group | 0 |
remove_isolated_implvar | omit isolated implicit variables | 1 |
shared_equation | allow shared equation | 0 |
stop_on_subsolver_failure | stop selkie if subsolver fails to solve | 1 |
subsolveropt | subsolver option file number
Range: {1 , ..., 999 } | 1 |
time_limit | maximum running time in seconds | 3600 |
use_mcpopt | use MCP to solve optimization agent | 0 |
write_agent_model | write agent model into file | 1 |