Social Cognitive Optimization (SCO) [1, 2] is an optimization algorithm for solving the (constrained) numerical optimization problem. SCO is an agentbased model based on the observational learning mechanism in human social cognition. In CGOS [3], SCO was hybridized with differential evolution (DE) to obtain better results than individual algorithms on a common set of benchmark problems.
Related Information: Please find other related code and software in our Source Code Library.
Basic Description  What’s New  Problem to be solved  Setting Parameters  Output Information  References  Contact 

License information: SCO is free software; you can redistribute and/or modify it under the terms of Creative Commons NonCommercial License 3.0.
Problem to be solved: (constrained) numerical optimization problem (NOP), or called the nonlinear programming problem.
System Requirements: SCO is a platformindependent software developed by JAVA version 1.4 or above.
Command line (examples): $ java SCO Problem=<Problem_Name> [NAME=VALUE] …
What’s New


Version V1.0.001 [Download  Github]:
It implements the original SCO algorithm [1] & [2].
 Setting parameters: Problem, N, T, NL.
Problem to be solved


The problem to be solved is (constrained) numerical optimization problem (NOP), including nonlinear programming problems.
To implement your own problem instance, you need create a JAVA source file, normally placed in the directory problem/unconstrained (if the problem has no constraint) or problem/constrained (if the problem has constraints).
Implementation Tips: 1) all the variable bounds must be specified; 2) any equality constraint should be relaxed by a small tolerance value (e.g., ε=1E4 for problem.constrained.Michalewicz_G3); and 3) problem.ProblemEncoder and problem.UnconstrainedProblemEncoder are the parental classes of all constrained (e.g., problem.constrained.Michalewicz_G1) and unconstrained (e.g., problem.unconstrained.GoldsteinPrice) problems, respectively.
More detailed description on the problem and implementation can be found here.
Setting parameters [NAME=VALUE]


NAME VALUE_type Range Default_Value Description Problem String * <Problem_Name> The problem to be solved //For example: problem.constrained.Michalewicz_G2 is the default value  N integer >5 70 General: The number of agents T integer >1 2000 General: The maximum learning cycles NL integer >1 3*N For the library: The number of Points //The total number of evaluation times is N*T+NL //The program outputs runtime information of the best solution every "Tout" cycles.
Output Information


[Parsing information]: provide the parsing information for all input parameters.
[Setting information]: show the information of all setting parameters for the algorithm.
[Runtime information]: The program outputs runtime information, i.e., the evaluation values <Vcon, Vopt> of the best solution, at every “Tout” cycles.
//Vopt: the value of objective function; Vcon: the weighted constraint violation value (≥0): it is not outputted if Vcon≡0 since there is no violation
[Summary information]: At the end, it outputs the input variables, response values, and evaluation values <Vcon, Vopt> of the best solution.
References


@InProceedings{Xie:2002p779,
Title = {Social cognitive optimization for nonlinear programming problems},
Author = {XiaoFeng Xie and WenJun Zhang and ZhiLian Yang},
Booktitle = {International Conference on Machine Learning and Cybernetics (ICMLC)},
Year = {2002},
PDF={http://www.wiomax.com/team/xie/paper/ICMLC02A.pdf},
DOI={10.1109/ICMLC.2002.1174487},
Code={http://www.wiomax.com/sco},
Address = {Beijing, China},
Pages = {779783}
}
@InProceedings{Xie:2004p261,
Title = {Solving engineering design problems by social cognitive optimization},
Author = {XiaoFeng Xie and WenJun Zhang},
Booktitle = {Genetic and Evolutionary Computation Conference (GECCO)},
Year = {2004},
Pages = {261262},
PDF={http://www.wiomax.com/team/xie/paper/GECCO04_SCO.pdf},
DOI={10.1007/9783540248545_27},
Code={http://www.wiomax.com/sco},
Address = {Seattle, WA, USA}
}
@Article{xie2014cooperative,
Title = {A cooperative group optimization system},
Author = {Xie, XiaoFeng and Liu, Jiming and Wang, ZunJing},
Journal = {Soft Computing},
Year = {2014},
Number = {3},
Pages = {469495},
Volume = {18},
PDF={http://www.wiomax.com/team/xie/paper/SOCO14.pdf},
DOI={10.1007/s0050001310698},
Publisher = {Springer}
}