Submitted:
19 February 2024
Posted:
22 February 2024
You are already at the latest version
Abstract
Keywords:
1. Introduction
2. Materials and Methods


3. Results
4. Discussion
5. Conclusions
Appendix
| Case | Case | x0 | T | K |
|---|---|---|---|---|
| 0 | Case 0 | 66156 | 30.36 | 14014 |
| 1 | cx0 = 2 | 54281 | 41.17 | 18384 |
| 2 | cT = 1460 | 75419 | 25.551 | 11935 |
| 3 | cK = 4 | 77210 | 24.81 | 11608 |
| 4 | y0 = 23000 | 81670 | 31.862 | 18716 |
| 5 | a = 0.033470 | 56857 | 34.353 | 10006 |
| 6 | b = 0.02045 | 47292 | 21.703 | 10018 |
Rem
Rem OptStrat_240114_1950
Rem Peter Lohmander
Cls
Open "AOpt_Out.txt" For Output As #1
DefDbl A-Z
F = 1000
cx0 = 1
G = 200000
cT = 730
cK = 2.0
a = .05347
b = .01045
y0 = 18000
x0 = 90000
dx0 = 1
dPdx0 = 0
d2Pdx02 = 0
T = 0
K = 0
Print " F cx0 G cT cK"
Print Using "########"; F;
Print Using "####.###"; cx0;
Print Using "########"; G;
Print Using "#####.###"; cT;
Print Using "####.###"; cK
Print ""
Print " a b y0 x0_0"
Print Using "###.######"; a; b;
Print Using "#########"; y0;
Print Using "#########"; x0
Print ""
Print " n x0 T K dx0"
Print #1, " F cx0 G cT cK"
Print #1, Using "########"; F;
Print #1, Using "####.###"; cx0;
Print #1, Using "########"; G;
Print #1, Using "#####.###"; cT;
Print #1, Using "####.###"; cK
Print #1, ""
Print #1, " a b y0 x0_0"
Print #1, Using "###.######"; a; b;
Print #1, Using "#########"; y0;
Print #1, Using "#########"; x0
Print #1, ""
Print #1, " n x0 T K dx0"
For n = 0 To 20
Print Using "###"; n;
Print #1, Using "###"; n;
If n = 0 GoTo 2
Print Using "########"; x0;
Print Using "####.###"; T;
Print Using "########"; K;
Print Using "#######.######"; dx0
Print #1, Using "########"; x0;
Print #1, Using "####.###"; T;
Print #1, Using "########"; K;
Print #1, Using "#######.######"; dx0
GoTo 3
2 Rem
If n > 0.1 Then GoTo 3
Print Using "########"; x0
Print #1, Using "########"; x0
3 Rem
dx02 = (dx0 * dx0) ^ .5
If dx02 < 0.000001 Then GoTo 4
dPdx0 = -cx0 - cT * (-y0 / (b * x0 * x0 - a * y0 * y0)) - cK * (1 - ((b ^ .5) * x0 / ((b * x0 * x0 - a * y0 * y0) ^ .5)))
d2Pdx02 = -cT * (2 * b * x0 * y0) / ((b * x0 * x0 - a * y0 * y0) ^ 2) - cK * (a * (b ^ .5) * y0 * y0) / ((b * x0 * x0 - a * y0 * y0) ^ (3 / 2))
dx0 = (-1) * dPdx0 / d2Pdx02
Rem Convergence stabilizer
dx0_test = (dx0 * dx0) ^ 0.5
If dx0_test > 5000 Then dx0 = dx0 * 0.3
x0 = x0 + dx0
T = Log((x0 + ((a / b) ^ .5) * y0) / (x0 - ((a / b) ^ .5) * y0)) / (2 * (a * b) ^ .5)
K = x0 - ((b * x0 * x0 - a * y0 * y0) / b) ^ .5
Next n
4 Rem
Close #1
End
RESULTS CASE 0 (According to the original software version):
F cx0 G cT cK
1000 1.000 200000 730.000 2.000
a b y0 x0_0
0.053470 0.010450 18000 90000
n x0 T K dx0
0 90000
1 75787 25.395 11866 -14213.471601
2 71793 27.214 12662 -3993.160551
3 69728 28.277 13123 -2065.419803
4 65658 30.680 14149 -4069.855630
5 66147 30.366 14016 488.771454
6 66156 30.360 14014 9.613701
7 66156 30.360 14014 0.003585
8 66156 30.360 14014 0.000000
RESULTS CASE 1 (cx0 = 2):
F cx0 G cT cK
1000 2.000 200000 730.000 2.000
a b y0 x0_0
0.053470 0.010450 18000 90000
n x0 T K dx0
0 90000
1 50504 47.215 20624 -39495.713055
2 53285 42.560 18912 2781.032194
3 54212 41.263 18419 927.034539
4 54281 41.170 18384 68.677048
5 54281 41.170 18384 0.331041
6 54281 41.170 18384 0.000008
7 54281 41.170 18384 -0.000000
RESULTS CASE 2 (cT = 1460):
F cx0 G cT cK
1000 1.000 200000 1460.000 2.000
a b y0 x0_0
0.053470 0.010450 18000 90000
n x0 T K dx0
0 90000
1 83643 22.499 10579 -6357.049117
2 80557 23.546 11047 -3086.257186
3 78776 24.200 11338 -1780.791194
4 75080 25.697 11999 -3695.964467
5 75416 25.552 11936 335.709627
6 75419 25.551 11935 3.426741
7 75419 25.551 11935 0.000350
8 75419 25.551 11935 0.000000
RESULTS CASE 3 (cK = 4.0):
F cx0 G cT cK
1000 1.000 200000 730.000 4.000
a b y0 x0_0
0.053470 0.010450 18000 90000
n x0 T K dx0
0 90000
1 84755 22.147 10421 -5245.016446
2 82009 23.040 10822 -2746.123451
3 80375 23.611 11076 -1633.407381
4 76930 24.923 11658 -3445.217337
5 77208 24.811 11609 277.570355
6 77210 24.810 11608 2.164392
7 77210 24.810 11608 0.000130
8 77210 24.810 11608 -0.000000
RESULTS CASE 4 (y0 = 23000):
F cx0 G cT cK
1000 1.000 200000 730.000 2.000
a b y0 x0_0
0.053470 0.010450 23000 90000
n x0 T K dx0
0 90000
1 86810 29.278 17317 -3190.065298
2 85006 30.128 17780 -1803.655790
3 81303 32.067 18826 -3702.890302
4 81665 31.865 18717 361.867276
5 81670 31.862 18716 4.387576
6 81670 31.862 18716 0.000630
7 81670 31.862 18716 0.000000
RESULTS CASE 5 (a = 0.033470):
F cx0 G cT cK
1000 1.000 200000 730.000 2.000
a b y0 x0_0
0.033470 0.010450 18000 90000
n x0 T K dx0
0 90000
1 64609 29.272 8604 -25390.678169
2 61518 31.085 9109 -3090.877732
3 59846 32.174 9410 -1671.977709
4 56484 34.648 10087 -3362.124354
5 56852 34.357 10007 367.209670
6 56857 34.353 10006 5.740354
7 56857 34.353 10006 0.001362
8 56857 34.353 10006 0.000000
RESULTS CASE 6 (b = 0.020450):
F cx0 G cT cK
1000 1.000 200000 730.000 2.000
a b y0 x0_0
0.053470 0.020450 18000 90000
n x0 T K dx0
0 90000
1 41565 26.243 11892 -48434.782573
2 45537 22.885 10516 3972.157477
3 47126 21.809 10063 1588.180413
4 47290 21.704 10018 164.537547
5 47292 21.703 10018 1.493795
6 47292 21.703 10018 0.000121
7 47292 21.703 10018 -0.000000
| Case | Case | x0 | T | K |
|---|---|---|---|---|
| 0 | Case 0 | 65000 | 46 | 24929 |
| 1 | R_KIAx = -3 | 70000 | 40 | 22063 |
| 2 | R_KIAx = -5 | 75000 | 35 | 19899 |
| 3 | R_tF = -2000 | 75000 | 35 | 19899 |
| 4 | R_tF = -4000 | 85000 | 29 | 16871 |
Rem
Rem STBLPL_230919_2053_r
Rem Peter Lohmander
DefDbl A-Z
Dim m_value(11), m_freq(11), n_value(11), n_freq(11), a_value(11), b_value(11)
Screen _NewImage(1000, 1000, 256)
Cls
Rem Open "C:\Users\Peter\OneDrive\Desktop\STBLPL\STBLPL_Out.txt" For Output As #2
y0 = 21500
R_Wx1 = 300000
R_Wx2 = 0
R_tF = 0
R_x0 = -2
R_KIAx = 0
a_mean = 0.0544
b_mean = 0.0106
a_sigma = 0.2
b_sigma = 0.2
c_value = (18 / 105) ^ 0.5
Print ""
Print " RESULTS FROM STBLPL 230919_2044 by Peter Lohmander"
Print ""
Print " PARAMETERS = "
Print " R_Wx1 = "; R_Wx1
Print " R_Wx2 = "; R_Wx2
Print " R_tF = "; R_tF
Print " R_x0 = "; R_x0
Print " R_KIAx = "; R_KIAx
Print " a_mean = "; a_mean
Print " b_mean = "; b_mean
Print " a_sigma = "; a_sigma
Print " b_sigma = "; b_sigma
Print ""
Rem Values of m(i) and n(i)
For i = 1 To 11
m_value(i) = (i - 6) * c_value * a_sigma
n_value(i) = (i - 6) * c_value * b_sigma
Next i
Rem Relative Frequences of m(i) and n(i)
For i = 1 To 6
m_freq(i) = i / 36
n_freq(i) = i / 36
Next i
For i = 7 To 11
m_freq(i) = (12 - i) / 36
n_freq(i) = (12 - i) / 36
Next i
Rem Values of a and b
For i = 1 To 11
a_value(i) = a_mean * (1 + m_value(i))
b_value(i) = b_mean * (1 + n_value(i))
Next i
GoTo 100
Rem Optional tests of distributions (if the line before this line is removed)
E_m = 0
E_m2 = 0
E_n = 0
E_n2 = 0
For i = 1 To 11
E_m = E_m + m_freq(i) * m_value(i)
E_m2 = E_m2 + m_freq(i) * (m_value(i)) ^ 2
E_n = E_n + n_freq(i) * n_value(i)
E_n2 = E_n2 + n_freq(i) * (n_value(i)) ^ 2
Next i
Print " E_m = "; E_m; " E_m2 = "; E_m2
Print " E_n = "; E_n; " E_n2 = "; E_n2
Print ""
Rem Tests of a and b values
For i = 1 To 11
Print " i = "; i; " a_value(i) = "; a_value(i); " b_value(i) = "; b_value(i)
Next i
100 Rem
Opt_x0 = 0
Opt_E_Rx = -99999999
Print " x0 y0 E_xF E_yF E_KIAx E_KIAy E_Wx E_Wy E_tF E_Rx E_Ry"
For x0_index = 0 To 150 Step 5
x0 = x0_index * 1000
Rem The expected values of the result variables are set to zero before the (a,b) loop begins.
E_xF = 0
E_yF = 0
E_KIAx = 0
E_KIAy = 0
E_Wx = 0
E_Wy = 0
E_tF = 0
E_Rx = 0
E_Ry = 0
Rem Loop with alternative values of a and b
For m_index = 1 To 11
For n_index = 1 To 11
Prob = m_freq(m_index) * n_freq(n_index)
Rem Engel coefficients
a = a_value(m_index)
b = b_value(n_index)
x = x0
y = y0
For t = 1 To 100
xt = x
yt = y
x = xt - a * yt
y = yt - b * xt
If x < 1 Then GoTo 2
If y < 1 Then GoTo 2
Next t
2 Rem
tF = t
xF = x
yf = y
If xF < 0 Then xF = 0
If yf < 0 Then yf = 0
Wx = 0
Wy = 0
If xF > yf Then Wx = 1
If xF < yf Then Wy = 1
KIAx = x0 - xF
KIAy = y0 - yf
If KIAx > x0 Then KIAx = x0
If KIAy > y0 Then KIAy = y0
Rx = (R_Wx1 * Wx * Exp(R_Wx2 * tF) + R_tF * tF + R_x0 * x0 + R_KIAx * KIAx) / 1000
Ry = (-500000 * Wx * Exp(-.02 * tF) - .3 * y0 - 1 * KIAy) / 1000
E_xF = E_xF + Prob * xF
E_yF = E_yF + Prob * yf
E_KIAx = E_KIAx + Prob * KIAx
E_KIAy = E_KIAy + Prob * KIAy
E_Wx = E_Wx + Prob * Wx
E_Wy = E_Wy + Prob * Wy
E_tF = E_tF + Prob * tF
E_Rx = E_Rx + Prob * Rx
E_Ry = E_Ry + Prob * Ry
Next n_index
Next m_index
Print Using "########"; x0; y0; E_xF; E_yF; E_KIAx; E_KIAy;
Print Using "###.####"; E_Wx; E_Wy;
Print Using "########"; E_tF; E_Rx; E_Ry
If E_Rx > Opt_E_Rx Then Opt_x0 = x0
If E_Rx > Opt_E_Rx Then Opt_E_Rx = E_Rx
Next x0_index
Print ""
Print " Optimal value of x0 = Opt_x0 = "; Opt_x0
Print " Optimal value of E_Rx = Opt_E_Rx = "; Opt_E_Rx
Print ""
3 Rem
Rem Close #2
End




References
- Bracken J (1995). Lanchester models of Ardennes Campaign. Naval Research Logistics, 42: 559–577. https://onlinelibrary.wiley.com/doi/10.1002/1520-6750(199506)42:4%3C559::AID-NAV3220420405%3E3.0.CO;2-R.
- Braun, M. (1993). Differential Equations and Their Applications, Springer-Verlag, New York, 4 ed. https://link.springer.com/book/10.1007/978-1-4612-4360-1.
- Chan, P. (2016) The Lanchester Square Law: Its Implications for Force Structure and Force Preparation of Singapore’s Operationally-Ready Soldiers, POINTER, JOURNAL OF THE SINGAPORE ARMED FORCES VOL.42, NO.2. https://www.mindef.gov.sg/oms/safti/pointer/documents/pdf/Vol42No2_5%20Lanchester%20Square%20Law.pdf.
- Chen, X., and Qui, J. (2014), Differential Game for a Class of Warfare Dynamic Systems with Reinforcement Based on Lanchester Equation, Abstract and Applied Analysis Volume 2014, Article ID 837431, 8 pages. [CrossRef]
- Engel J.H. (1954). A Verification of Lanchester's Law, Journal of the Operations Research Society of America, 2(2):163-171. https://pubsonline.informs.org/doi/pdf/10.1287/opre.2.2.163.
- Hung, CY., Yang, G., Deng, P. et al. (2005). Fitting Lanchester's square law to the Ardennes Campaign. Journal of the Operations Research Society of America, 56, 942–946. [CrossRef]
- Hy, M.D., Vu, M.A., Nguyen, N.H., Ta, A N., Bui, D.V. (2020) Optimization in an asymmetric Lanchester (n, 1) model, Journal of Defense Modeling and Simulation: Applications, Methodology, Technology 2020, Vol. 17(1) 117–122. DOI: 10.1177/1548512919828553. https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwiT0eONqoKEAxV8LBAIHfyMAogQFnoECBoQAQ&url=https%3A%2F%2Fjournals.sagepub.com%2Fdoi%2Ffull%2F10.1177%2F1548512919828553&usg=AOvVaw1DULZfTqrVmHxgRhaxeFn4&opi=89978449.
- Iannelli, M., Pugliese, A. (2014). Competition among species. In: An Introduction to Mathematical Population Dynamics, vol 79. Springer, Cham. [CrossRef]
- Jensen, J. L. W. V. (1906). "Sur les fonctions convexes et les inégalités entre les valeurs moyennes." Acta Math. 30 175 - 193. [CrossRef]
- Kalloniatis, A.C., Hoek, K., Zuparic, M., Brede, M. (2020) Optimising structure in a networked Lanchester Model for Fires and Manoeuvre in Warfare, Journal of the Operational Research Society, 72:8, 1863-1878. https://eprints.soton.ac.uk/438471/1/Optimising_structure_in_a_networked_Lanchester_Model_for_Fires_and_Manoeuvre_in_Warfare_JORS_2020_.pdf. [CrossRef]
- Kostic M., Jovanovic, A. (2023) LANCHESTER’S DIFFERENTIAL EQUATIONS AS OPERATIONAL COMMAND DECISION MAKING TOOLS, Serbian Journal of Management 18 (1), 71 – 92. https://scindeks-clanci.ceon.rs/data/pdf/1452-4864/2023/1452-48642301071K.pdf.
- Kress, M., Caulkins, J.P., Feichtinger, R., Grass, D., Seidl, A. (2018) Lanchester model for three-way combat, European Journal of Operational Research, Vol 264, Issue 1, January 2018, 46-54. [CrossRef]
- Lanchester F.W. (1916). Aircraft in Warfare: The Dawn of the Fourth Arm. Constable: London. https://ia804709.us.archive.org/23/items/aircraftinwarfar00lancrich/aircraftinwarfar00lancrich.pdf.
- Lohmander, P. (1986). Continuous extraction under risk, IIASA, International Institute for Applied Systems Analysis, Systems and Decisions Sciences, WP-86-16, March 1986. https://core.ac.uk/download/pdf/33894314.pdf.
- Lohmander, P. (1988). Continuous extraction under risk, Systems Analysis – Modelling – Simulation, Vol. 5, No. 2, 131-151. http://www.Lohmander.com/PL_SAMS_5_2_1988.pdf.
- Lohmander, P. (2019a). Four central military decision problems, General methods and solutions. The Royal Swedish Academy of War Sciences Proceedings and Journal, 2, 119-134. http://www.lohmander.com/PLRSAWS_19.pdf.
- Lohmander, P. (2019b). Optimal decisions and expected values in two player zero sum games with diagonal game matrixes—Explicit functions, general proofs and effects of parameter estimation errors, International Robotics and Automation Journal, 5, 186–198. https://medcraveonline.com/IRATJ/IRATJ-05-00193.pdf.
- Lohmander, P. (2023). Optimal Dynamic Control of Proxy War Arms Support, Automation 4, No. 1: 31-56. [CrossRef]
- Lystopadova, V., Khalaim, D. (2023) Application of Lanchester's mathematical laws in military strategy. Osvita. Innovatyka. Praktyka – Education. Innovation. Practice, Vol. 11, No 8. S. 44-50. https://www.researchgate.net/publication/375152016_APPLICATION_OF_LANCHESTER'S_MATHEMATICAL_LAWS_IN_MILITARY_STRATEGY/link/654252b63cc79d48c5c6801a/download?_tp=eyJjb250ZXh0Ijp7ImZpcnN0UGFnZSI6InB1YmxpY2F0aW9uIiwicGFnZSI6InB1YmxpY2F0aW9uIn19. [CrossRef]
- McCartney, M. (2022) The solution of Lanchester’s equations with inter-battle reinforcement strategies, Physica A: Statistical Mechanics and its Applications, Vol. 586, 15 January 2022, 126477. [CrossRef]
- Minguela-Castro, Gerardo, Ruben Heradio, and Carlos Cerrada. 2021. "Automated Support for Battle Operational–Strategic Decision-Making" Mathematics 9, no. 13: 1534. [CrossRef]
- Rothschild, M., Stiglitz, J.E. (1970). Increasing risk: I. A definition, Journal of Economic Theory, Volume 2, Issue 3, 225-243, ISSN 0022-0531. https://www.sciencedirect.com/science/article/pii/0022053170900384. [CrossRef]
- Rothschild, M., Stiglitz, J.E. (1971). Increasing risk II: Its economic consequences, Journal of Economic Theory, Volume 3, Issue 1, 66-84, ISSN 0022-0531. https://www.sciencedirect.com/science/article/pii/0022053171900342. [CrossRef]
- Shatz, H.J. (2020). Economic Competition in the 21st Century. Santa Monica, CA: RAND Corporation. https://www.rand.org/pubs/research_reports/RR4188.html.
- Sheeba, P.S., Ghose, D. (2008) Optimal resource allocation in conflicts with the Lanchester linear law (2,1) model, 2008 American Control Conference, Seattle, WA, USA, 2008, pp. 1806-1811. https://ieeexplore.ieee.org/document/4586754. [CrossRef]
- Spradlin, C., Spradlin, G. (2007) Lanchester’s equations in three dimensions, Computers and Mathematics with Applications 53, 999–1011. https://www.sciencedirect.com/science/article/pii/S0898122107000557.
- Stymfal, M.G. (2022). Revisiting Engel’s verification of Lanchester’s square law using battle of Iwo Jima data, Thesis, Naval Postgraduate School, NPS, Monterey, California, USA. https://apps.dtic.mil/sti/trecms/pdf/AD1201776.pdf.
- Tam, J.H. (1998), Application of Lanchester combat model in the Ardennes campaign, Natural Resource Modeling, 11: 95-116. [CrossRef]
- Taylor, J.G. (1979), Optimal Commitment of Forces in Some Lanchester-Type Combat Models, Operations Research Vol. 27, No. 1 (Jan. - Feb.), pp. 96-114. https://www.jstor.org/stable/170246.
- Washburn, A., Kress, M. (2009). Combat Modeling, Springer Science, New York. https://archive.org/details/springer_10.1007-978-1-4419-0790-5.































Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content. |
© 2024 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).