Social Cognitive Optimization (SCO): Project Portal
(Current Version: V1.0.000)

Basic Description What's New Problem to be solved Setting Parameters Output Information References Contact

Social Cognitive Optimization (SCO) is a simple agent-based model based on the observational learning mechanism in human social cognition.

License information: SCO is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public 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.000 [download]:

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), or called the nonlinear programming problem.

    Tips: 1) all the variable bounds must be specified, since optimal solution(s) might situate at anywhere; and 2) problem.ProblemEncoder andproblem.UnconstrainedProblemEncoder are the parental classes of all constrained (e.g., problem.constrained.Michalewicz_G1) and unconstrained (e.g., problem.unconstrained.GoldsteinPrice) problems, respectively.

    Implemented problem instances: please download from the up-to-date list of source files, which will be situated in the directories: 1) problem/constrained, and 2) problem/unconstrained.

    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, Zhi-Lian Yang. Social cognitive optimization for nonlinear programming problems. International Conference on Machine Learning and Cybernetics (ICMLC). Beijing, China, 2002: 779-783. [DOI]

    [2] Xiao-Feng Xie, Wen-Jun Zhang. Solving engineering design problems by social cognitive optimization. Genetic and Evolutionary Computation Conference (GECCO), LNCS 3102, Seattle, WA, USA, 2004: 261-262. [DOI]

    Return to homepage

    Maintained by AdaptiveBox StUdIo, under a Creative Commons Attribution 3.0 License.