{
 "id": "epgk6drxx5",
 "slug": "opposition-based-learning",
 "title": "Opposition-based learning",
 "updated": "2026-10-15",
 "topic_path": [
  {
   "id": "technology",
   "label": "Technology and the built world",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology"
  },
  {
   "id": "technology.computing",
   "label": "Computing and digital systems",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing"
  },
  {
   "id": "technology.computing.ai",
   "label": "Artificial intelligence and data",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai"
  },
  {
   "id": "technology.computing.ai.algorithms",
   "label": "Algorithms and computational methods",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.algorithms"
  },
  {
   "id": "technology.computing.ai.optimization_dp",
   "label": "Optimization and dynamic programming",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.optimization_dp"
  },
  {
   "id": "technology.computing.ai.optimization_dp.local-search-and-metaheuristics",
   "label": "Local search and metaheuristics",
   "api_url": "https://www.edgepedia.org/api/v1/topics/technology.computing.ai.optimization_dp.local-search-and-metaheuristics"
  }
 ],
 "geo": [
  {
   "id": "geo.nongeo.t2001.technology.computing.ai.optimization_dp",
   "label": "Non-geographic · 2001 to 2020: Optimization and dynamic programming",
   "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing.ai.optimization_dp",
   "path": [
    {
     "id": "geo.nongeo",
     "label": "Non-geographic",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo"
    },
    {
     "id": "geo.nongeo.t2001",
     "label": "Non-geographic · 2001 to 2020",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001"
    },
    {
     "id": "geo.nongeo.t2001.technology",
     "label": "Technology and the built world",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology"
    },
    {
     "id": "geo.nongeo.t2001.technology.computing",
     "label": "Computing and digital systems",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing"
    },
    {
     "id": "geo.nongeo.t2001.technology.computing.ai",
     "label": "Artificial intelligence and data",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing.ai"
    },
    {
     "id": "geo.nongeo.t2001.technology.computing.ai.algorithms",
     "label": "Algorithms and computational methods",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing.ai.algorithms"
    },
    {
     "id": "geo.nongeo.t2001.technology.computing.ai.optimization_dp",
     "label": "Optimization and dynamic programming",
     "api_url": "https://www.edgepedia.org/api/v1/geo/geo.nongeo.t2001.technology.computing.ai.optimization_dp"
    }
   ]
  }
 ],
 "excerpt": "Opposition-based learning is a machine intelligence technique that pairs each candidate solution with its opposite point in the search space, keeping the fitter to speed convergence.",
 "snippet": "Opposition-based learning is a machine intelligence technique that pairs each candidate solution with its opposite point in the search space, keeping the fitter to speed convergence.",
 "node": "technology.computing.ai.optimization_dp.local-search-and-metaheuristics",
 "markdown": "# Opposition-based learning\n\nOpposition-based learning (OBL) is a machine intelligence and optimization technique that evaluates each candidate solution together with its opposite point in a bounded search space, keeping the fitter of the two to accelerate convergence in metaheuristic and evolutionary algorithms. The motivation is probabilistic: according to probability theory, 50% of the time a guess is farther from the solution than its opposite guess.<sup>[1](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)</sup> The original framing treats learning as a comparison between estimates and counter-estimates, weights and opposite weights, and actions versus counter-actions, on the premise that a random starting guess may lie worst-case in the opposite location from the solution, making search considerably slower if only one direction is explored.<sup>[2](http://facweb.iitkgp.ac.in/~shamik/spring2008/sca/tutorials/download/pami.uwaterloo.ca/tizhoosh/opposition_based_learning.htm)</sup>\n\n| Key fact | Detail |\n|---|---|\n| Opposite-point definition | For \\( x \\in [a, b] \\), the opposite is \\( \\breve{x} = a + b - x \\); in \\( n \\) dimensions it is applied component-wise.<sup>[3](https://www.sciencedirect.com/science/article/pii/S0898122107001344)</sup> |\n| Probabilistic basis | A guess is farther from the solution than its opposite guess 50% of the time.<sup>[1](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)</sup> |\n| Main embedding points | Opposition-based population initialization and opposition-based generation jumping, tested on 58 benchmark functions in differential evolution.<sup>[1](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)</sup> |\n| Jump rate | Average optimal jumping rate 0.37 over 58 functions; large-scale work recommends a small value in \\( (0, 0.4] \\).<sup>[1](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)</sup><sup> • </sup><sup>[4](https://www.sfu.ca/~gwa5/pdf/2008_01.pdf)</sup> |\n| Initialization speedup | Opposition-based initialization made DE about 10% faster on average (14.7% for \\( D \\le 10 \\) versus 6.2% for \\( D > 10 \\)).<sup>[3](https://www.sciencedirect.com/science/article/pii/S0898122107001344)</sup> |\n| Contested speedup | ODE was reported as 44% faster than DE with jump rate 0.3, but a re-examination measured 5.26% with jump rate 0.05.<sup>[5](https://doi.org/10.1109/access.2018.2890402)</sup> |\n| Technique families | A recent classification counts nine OBL techniques, from basic opposition to quasi-reflection and stochastic variants.<sup>[6](https://doi.org/10.7717/peerj-cs.2935)</sup> |\n\n## How it works\n\nOBL pairs every candidate \\( P \\) with an opposite \\( \\breve{P} \\) and evaluates both simultaneously, continuing with the fitter one; formally, if \\( f(\\breve{P}) \\ge f(P) \\) the candidate is replaced by its opposite, otherwise the original is kept.<sup>[1](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)</sup> In a one-dimensional interval \\( [a, b] \\) the opposite of a real number \\( x \\) is \\( \\breve{x} = a + b - x \\); for \\( a = 0, b = 1 \\) this reduces to \\( \\breve{x} = 1 - x \\), and for \\( a = -b \\) to \\( \\breve{x} = -x \\).<sup>[3](https://www.sciencedirect.com/science/article/pii/S0898122107001344)</sup> In \\( n \\) dimensions the map is component-wise, \\( \\breve{x}_{i} = a_{i} + b_{i} - x_{i} \\) for \\( x_{i} \\in [a_{i}, b_{i}] \\).<sup>[1](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)</sup>\n\nTwo notions of oppositeness coexist. Most implementations use the linear definition above, called type-I opposition. Type-II (true) opposition is a stricter notion whose use requires knowing evaluation values in the target space in advance, which is difficult in black-box problems, so published research deals almost entirely with type-I opposition.<sup>[7](https://ar5iv.labs.arxiv.org/html/1504.05619)</sup><sup> • </sup><sup>[8](https://link.springer.com/article/10.1007/s40747-023-01069-5)</sup>\n\n## How it is done\n\nOBL enters an evolutionary algorithm at two points. **Initialization.** Each randomly drawn individual \\( P_{k} \\) gets an opposite \\( \\mathrm{OP}_{k,j} = a_{j} + b_{j} - P_{k,j} \\) per variable, all \\( 2n \\) points are evaluated, and the fittest individuals from the union \\( \\{P \\cup \\mathrm{OP}\\} \\) form the initial population.<sup>[3](https://www.sciencedirect.com/science/article/pii/S0898122107001344)</sup> **Generation jumping.** After mutation, crossover, and selection, and controlled by a jumping rate \\( J_{r} \\) (a jumping probability), the opposite of the current population is computed and the fittest individuals are selected from the union of the current and opposite populations.<sup>[1](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)</sup> During jumping, opposites are computed dynamically from the current population's own range rather than the static boundaries, \\( \\mathrm{OP}_{i,j} = \\mathrm{MIN}^{p}_{j} + \\mathrm{MAX}^{p}_{j} - P_{i,j} \\), which keeps the opposite points inside the region the population actually occupies.<sup>[4](https://www.sfu.ca/~gwa5/pdf/2008_01.pdf)</sup>\n\nThe jump rate is the main parameter. Across 58 test functions the average optimal value was 0.37, with 0.3 and 0.6 occurring most often; higher rates suited low-dimensional functions and lower rates high-dimensional ones.<sup>[1](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)</sup> A large-scale study recommends \\( J_{r} \\) be a small number in \\( (0, 0.4] \\).<sup>[4](https://www.sfu.ca/~gwa5/pdf/2008_01.pdf)</sup> Quasi-oppositional DE used a much smaller rate, \\( J_{r\\mathrm{QODE}} = \\frac{1}{6} J_{r\\mathrm{ODE}} \\), because higher rates reduced population diversity and caused premature convergence.<sup>[9](http://rahnamayan.ca/assets/documents/Quasi-Oppositional%20Differential%20Evolution.pdf)</sup>\n\n## Origin\n\nOpposition-based learning is a scheme for machine intelligence.<sup>[2](http://facweb.iitkgp.ac.in/~shamik/spring2008/sca/tutorials/download/pami.uwaterloo.ca/tizhoosh/opposition_based_learning.htm)</sup> The earliest related records are Tizhoosh's opposition-based reinforcement learning paper in the Journal of Advanced Computational Intelligence and Intelligent Informatics (2006)<sup>[10](https://doi.org/10.20965/jaciii.2006.p0578)</sup> and the population-initialization method for accelerating evolutionary algorithms by Shahryar Rahnamayan, Hamid R. Tizhoosh, and Magdy M.A. Salama in Computers & [Mathematics](https://www.edgepedia.org/mathematics) with Applications (2007).<sup>[3](https://www.sciencedirect.com/science/article/pii/S0898122107001344)</sup> Opposition-based differential evolution was reported by Shahryar Rahnamayan, Hamid R. Tizhoosh, and Magdy M. A. Salama in Studies in Computational Intelligence (2008).<sup>[11](https://doi.org/10.1007/978-3-540-68830-3_6)</sup> OBL builds on differential evolution, reported by Rainer Storn and Kenneth Price in the Journal of Global Optimization (1997).<sup>[12](https://doi.org/10.1023/a:1008202821328)</sup> Later development includes generalized opposition-based learning in particle swarm optimization by Hui Wang and colleagues in Information Sciences (2011)<sup>[13](https://doi.org/10.1016/j.ins.2011.03.016)</sup> and the mathematical and experimental analysis of oppositional algorithms, including quasi-reflection, by Mehmet Ergezer and Dan Simon in [IEEE Transactions on Cybernetics](https://www.edgepedia.org/ieee-transactions-on-cybernetics) (2014).<sup>[14](https://doi.org/10.1109/tcyb.2014.2303117)</sup>\n\n## Variants\n\n**Quasi-oppositional learning** replaces opposite points with quasi-opposite points; a mathematical proof shows quasi-opposite points have a higher chance of being closer to the solution than opposite points in black-box problems. On 30 test problems (15 functions, two dimensions), this variant outperformed DE and ODE on 22 functions, ODE on 6, and DE on just one.<sup>[9](http://rahnamayan.ca/assets/documents/Quasi-Oppositional%20Differential%20Evolution.pdf)</sup> **Generalized opposition-based learning (GOBL)** transforms solutions from the current search space to a new one, with \\( k \\) a real number and out-of-box candidates assigned random values; the resulting GOPSO algorithm combines GOBL with Cauchy mutation and performed better than other PSO variants on the majority of 18 benchmarks, including 6 shifted and large-scale problems.<sup>[13](https://doi.org/10.1016/j.ins.2011.03.016)</sup> **Opposite-center learning (OCL)** redefines the opposite as the center point that minimizes the expected distance of the candidate/opposite pair to a uniformly distributed optimum, approximated by [Monte Carlo sampling](https://www.edgepedia.org/monte-carlo-sampling); applied to DE it improved convergence by about 8% over DE on five common benchmarks and beat OBL in sampling experiments up to dimension 20.<sup>[15](https://dare.uva.nl/document/2/162770)</sup>\n\nOther named directions include SQOBL, a diversity-driven fusion of quasi-opposite and extended opposite learning,<sup>[8](https://link.springer.com/article/10.1007/s40747-023-01069-5)</sup> and dynamic-opposite learning, in which a random opposite number is the opposite multiplied by a random value in \\( [0, 1] \\), introducing asymmetry into the search space.<sup>[16](https://www.nature.com/articles/s41598-026-46614-7)</sup>\n\n## Applications\n\nBeyond benchmark functions, early OBL work targeted reinforcement learning and backpropagation learning in neural networks.<sup>[1](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)</sup> A survey records applications across differential evolution, particle swarm optimization, reinforcement learning, [biogeography-based optimization](https://www.edgepedia.org/biogeography-based-optimization), artificial neural networks, harmony search, ant colony system, and artificial bee colony.<sup>[17](https://www.sciencedirect.com/science/article/abs/pii/S0952197613002388)</sup> Recent applied studies include wrapper-based feature selection, where a leveraged OBL method inside fitness-landscape PSO won on classification accuracy on over half of 24 benchmark datasets against 13 advanced metaheuristics while selecting fewer features,<sup>[18](https://www.sciopen.com/article/10.32604/cmc.2025.072593)</sup> and flexible job-shop scheduling, where DOLDEMFO (dynamic-opposite learning plus differential evolution inside moth-flame optimization) was tested on 20 CEC2014 benchmarks and 20 scheduling problems.<sup>[16](https://www.nature.com/articles/s41598-026-46614-7)</sup>\n\n## Limitations and alternatives\n\n**Failure modes.** When a benchmark function is symmetric about the center of its definition interval, paired solutions have equal fitness and the opposite point cannot be superior to the original, giving a utilization rate of 0%.<sup>[5](https://doi.org/10.1109/access.2018.2890402)</sup> The extra fitness evaluations for opposite points degrade performance when the improvement is insufficient compared with the population's own evolution; one re-examination interprets OBL as a form of mutation operation.<sup>[5](https://doi.org/10.1109/access.2018.2890402)</sup> Because each candidate and its opposite are both evaluated, the OBL variant of an algorithm shares the parent's asymptotic complexity, \\( O(T \\cdot D \\cdot N) \\), but incurs approximately double the evaluation cost per iteration; applying OBL too frequently can become redundant or disrupt convergence, and its static application lacks adaptive control.<sup>[19](https://www.mdpi.com/2227-7390/13/16/2556)</sup> The stochastic OBL variant is susceptible to rotations in the coordinate system, motivating rotationally invariant versions.<sup>[6](https://doi.org/10.7717/peerj-cs.2935)</sup> Quasi-opposite and quasi-reflection learning converge better toward the global optimum than original OBL but are less effective when a local optimum exists.<sup>[16](https://www.nature.com/articles/s41598-026-46614-7)</sup>\n\n**Contested speedup.** The original ODE study reported ODE on average 44% faster than DE with jump rate 0.3, but a re-examination measured a 5.26% speedup with jump rate 0.05, attributing the discrepancy to jumping-rate settings; its population-based embedding gave a total average acceleration of 8.00%.<sup>[5](https://doi.org/10.1109/access.2018.2890402)</sup>\n\n**Alternatives.** In the CEC2022 comparison of five OBL variants across five metaheuristics, quasi-reflection OBL consistently outperformed the others in convergence speed and solution quality across most benchmark functions.<sup>[6](https://doi.org/10.7717/peerj-cs.2935)</sup> Diversification-based learning, proposed by [Fred Glover](https://www.edgepedia.org/fred-w-glover) and Jin-Kao Hao in the Journal of Heuristics (2018), offers a broader framework for population diversification in computing and optimization.<sup>[20](https://doi.org/10.1007/s10732-018-9384-y)</sup>\n\n## References\n\n1. [Opposition-Based Differential Evolution (IEEE Transactions on Evolutionary Computation, 2008)](https://sci2s.ugr.es/keel/pdf/algorithm/articulo/2008-IEEE_TEC-Rahnamayan.pdf)\n2. [Opposition-Based Learning (Tizhoosh's own research page)](http://facweb.iitkgp.ac.in/~shamik/spring2008/sca/tutorials/download/pami.uwaterloo.ca/tizhoosh/opposition_based_learning.htm)\n3. [A novel population initialization method for accelerating evolutionary algorithms (Computers and Mathematics with Applications, 2007)](https://www.sciencedirect.com/science/article/pii/S0898122107001344)\n4. [Solving Large Scale Optimization Problems by Opposition-Based Differential Evolution (ODE)](https://www.sfu.ca/~gwa5/pdf/2008_01.pdf)\n5. [Exploring the Reasons Behind the Good Performance of Opposition-Based Learning](https://doi.org/10.1109/access.2018.2890402)\n6. [Opposition-based learning techniques in metaheuristics: classification, comparison, and convergence analysis](https://doi.org/10.7717/peerj-cs.2935)\n7. [Learning Opposites with Evolving Rules (arXiv:1504.05619)](https://ar5iv.labs.arxiv.org/html/1504.05619)\n8. [A particle swarm optimization algorithm based on diversity-driven fusion of opposing phase selection strategies (Complex & Intelligent Systems, Springer)](https://link.springer.com/article/10.1007/s40747-023-01069-5)\n9. [Quasi-Oppositional Differential Evolution (QODE)](http://rahnamayan.ca/assets/documents/Quasi-Oppositional%20Differential%20Evolution.pdf)\n10. [Hamid R. Tizhoosh (2006). Opposition-Based Reinforcement Learning. Journal of Advanced Computational Intelligence and Intelligent Informatics.](https://doi.org/10.20965/jaciii.2006.p0578)\n11. [Shahryar Rahnamayan, Hamid R. Tizhoosh, Magdy M. A. Salama (2008). Opposition-Based Differential Evolution. Studies in computational intelligence.](https://doi.org/10.1007/978-3-540-68830-3_6)\n12. [Rainer Storn, Kenneth Price (1997). Differential Evolution – A Simple and Efficient Heuristic for global Optimization over Continuous Spaces. Journal of Global Optimization.](https://doi.org/10.1023/a:1008202821328)\n13. [Hui Wang and colleagues (2011). Enhancing particle swarm optimization using generalized opposition-based learning. Information Sciences.](https://doi.org/10.1016/j.ins.2011.03.016)\n14. [Mehmet Ergezer, Dan Simon (2014). Mathematical and Experimental Analyses of Oppositional Algorithms. IEEE Transactions on Cybernetics.](https://doi.org/10.1109/tcyb.2014.2303117)\n15. [How to Speed up Optimization? Opposite-Center Learning (Xu, Erdbrink, Krzhizhanovskaya)](https://dare.uva.nl/document/2/162770)\n16. [Dynamic-opposite learning enhanced meta-heuristic approach for solving multiple industrial optimization problems (Scientific Reports, 2026)](https://www.nature.com/articles/s41598-026-46614-7)\n17. [A review of opposition-based learning from 2005 to 2012 (Xu, Wang, Wang, Hei, Zhao; Engineering Applications of Artificial Intelligence, 2014)](https://www.sciencedirect.com/science/article/abs/pii/S0952197613002388)\n18. [Leveraging Opposition-Based Learning in Particle Swarm Optimization for Effective Feature Selection (Computers, Materials & Continua, 2026)](https://www.sciopen.com/article/10.32604/cmc.2025.072593)\n19. [Fick's Law Algorithm Enhanced with Opposition-Based Learning (Mathematics, MDPI, 2025)](https://www.mdpi.com/2227-7390/13/16/2556)\n20. [Fred Glover, Jin-Kao Hao (2018). Diversification-based learning in computing and optimization. Journal of Heuristics.](https://doi.org/10.1007/s10732-018-9384-y)\n\n---\n*Topic: Encyclopedia › Technology and the built world › Computing and digital systems › Artificial intelligence and data › Algorithms and computational methods › Optimization and dynamic programming › Local search and metaheuristics*\n\n*Initially written Sep 29, 2026 · Edited: Oct 15, 2026*\n\n*Copyright 2026 EdgeChat AI, a subsidiary of Biostate AI.*\n\nLicense: Edgepedia Community License 1.0, https://www.edgepedia.org/edgepedia/license\n",
 "same_as": [],
 "url": "https://www.edgepedia.org/opposition-based-learning",
 "markdown_url": "https://www.edgepedia.org/opposition-based-learning.md",
 "license": {
  "name": "Edgepedia Community License 1.0",
  "url": "https://www.edgepedia.org/edgepedia/license",
  "summary": "Free with credit, commercial use included. AI training is open to everyone. For other uses, organizations over USD 100M in revenue or 100M monthly users license separately.",
  "spdx": "LicenseRef-Edgepedia-Community-1.0"
 },
 "credit": "\"Opposition-based learning\", Edgepedia (EdgeChat), https://www.edgepedia.org/opposition-based-learning. Edgepedia Community License 1.0.",
 "credit_md": "\"[Opposition-based learning](https://www.edgepedia.org/opposition-based-learning)\", Edgepedia (EdgeChat), [https://www.edgepedia.org/opposition-based-learning](https://www.edgepedia.org/opposition-based-learning). [Edgepedia Community License 1.0](https://www.edgepedia.org/edgepedia/license).",
 "credit_html": "\"<a href=\"https://www.edgepedia.org/opposition-based-learning\">Opposition-based learning</a>\", Edgepedia (EdgeChat), <a href=\"https://www.edgepedia.org/opposition-based-learning\">https://www.edgepedia.org/opposition-based-learning</a>. <a href=\"https://www.edgepedia.org/edgepedia/license\">Edgepedia Community License 1.0</a>.",
 "speakable": "Opposition-based learning is a machine intelligence technique that pairs each candidate solution with its opposite point in the search space, keeping the fitter to speed convergence."
}
