Social Cognitive Optimization (SCO): Project Portal

sco_logoSocial Cognitive Optimization (SCO) [1, 2] is an optimization algorithm for solving the (constrained) numerical optimization problem. SCO is an agent-based 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 Non-Commercial License 3.0.

Problem to be solved: (constrained) numerical optimization problem (NOP), or called the nonlinear programming problem.

System Requirements: SCO is a platform-independent 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., ε=1E-4 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.

[1] Xiao-Feng Xie, Wen-Jun Zhang, and Zhi-Lian Yang. Social cognitive optimization for nonlinear programming problems. In International Conference on Machine Learning and Cybernetics (ICMLC), pages 779-783, Beijing, China, 2002. [pdf] [Code] [doi] [Bibtex]
Title = {Social cognitive optimization for nonlinear programming problems},
Author = {Xiao-Feng Xie and Wen-Jun Zhang and Zhi-Lian Yang},
Booktitle = {International Conference on Machine Learning and Cybernetics (ICMLC)},
Year = {2002},
Address = {Beijing, China},
Pages = {779--783}
[2] Xiao-Feng Xie and Wen-Jun Zhang. Solving engineering design problems by social cognitive optimization. In Genetic and Evolutionary Computation Conference (GECCO), pages 261-262, Seattle, WA, USA, 2004. [pdf] [Code] [doi] [Bibtex]
Title = {Solving engineering design problems by social cognitive optimization},
Author = {Xiao-Feng Xie and Wen-Jun Zhang},
Booktitle = {Genetic and Evolutionary Computation Conference (GECCO)},
Year = {2004},
Pages = {261--262},
Address = {Seattle, WA, USA}
[3] Xiao-Feng Xie, Jiming Liu, and Zun-Jing Wang. A cooperative group optimization system. Soft Computing, 18(3): 469-495, 2014. [pdf] [doi] [Bibtex]
Title = {A cooperative group optimization system},
Author = {Xie, Xiao-Feng and Liu, Jiming and Wang, Zun-Jing},
Journal = {Soft Computing},
Year = {2014},
Number = {3},
Pages = {469--495},
Volume = {18},
Publisher = {Springer}

Posted on: Sep 27, 2015

Category : Software

Leave a Reply