problem.ftl 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. <?xml version='1.0' encoding='UTF-8'?>
  2. <surromdaoProblem>
  3. <header>
  4. <name>${vo.header.name}</name>
  5. <creator>SurroMDAO</creator>
  6. <timestamp>${vo.header.timestamp}</timestamp>
  7. <fileversion>1.0</fileversion>
  8. <surromdaoVersion>V1.1</surromdaoVersion>
  9. </header>
  10. <problem>
  11. <designVariables>
  12. <#list vo.designVariables as b>
  13. <designVariable uID="${b.uID}">
  14. <name>${b.name}</name>
  15. <value>${b.value}</value>
  16. <lowerbound>${b.lowerbound}</lowerbound>
  17. <upperbound>${b.upperbound}</upperbound>
  18. </designVariable>
  19. </#list>
  20. </designVariables>
  21. <objectives>
  22. <#list vo.objectives as b>
  23. <objective uID="${b.uID}">
  24. <name>${b.name}</name>
  25. <value>${b.value}</value>
  26. <weight>${b.weight}</weight>
  27. <flag>${b.flag}</flag>
  28. </objective>
  29. </#list>
  30. </objectives>
  31. <constraints>
  32. <#list vo.constraints as b>
  33. <constraint uID="${b.uID}">
  34. <name>${b.name}</name>
  35. <value>${b.value}</value>
  36. <lower>${b.lower}</lower>
  37. <upper>${b.upper}</upper>
  38. </constraint>
  39. </#list>
  40. </constraints>
  41. </problem>
  42. <optimizers>
  43. <optimizer>
  44. <#if vo.evolution??>
  45. <name>${vo.evolution.algorithm?lower_case}</name>
  46. <configFile/>
  47. <configuration>
  48. <maxgen>${vo.evolution.epoch}</maxgen>
  49. <ipopsize>${vo.evolution.popsize}</ipopsize>
  50. <pc>${vo.evolution.probcrossover}</pc>
  51. <pm>${vo.evolution.probmut}</pm>
  52. </configuration>
  53. <#else>
  54. </#if>
  55. <#if vo.surro??>
  56. <name>${vo.surro.algorithm?lower_case}</name>
  57. <configuration>
  58. <optimization>
  59. <iout>${vo.surro.iout}</iout>
  60. <irestart>${vo.surro.irestart}</irestart>
  61. <ndoe>${vo.surro.ndoe}</ndoe>
  62. <ns>${vo.surro.ns}</ns>
  63. <nsmax>${vo.surro.nsmax}</nsmax>
  64. <ns_lf>${vo.surro.nsLf}</ns_lf>
  65. <nsmax_lf>${vo.surro.nsmaxLf}</nsmax_lf>
  66. <ns_mk>[${vo.surro.nsMk}]</ns_mk>
  67. <nsmax_mk>[${vo.surro.nsmaxMk}]</nsmax_mk>
  68. <x_tol>${vo.surro.xTol}</x_tol>
  69. <feasibility_tol_real>${vo.surro.feasibilityTolReal}</feasibility_tol_real>
  70. <feasibility_tol_surro>${vo.surro.feasibilityTolSurro}</feasibility_tol_surro>
  71. </optimization>
  72. <model>
  73. <nsurro>${vo.surro.nsurro}</nsurro>
  74. <n_kriging>${vo.surro.nKriging}</n_kriging>
  75. <corr>${vo.surro.corr}</corr>
  76. <const_theta>${vo.surro.constTheta}</const_theta>
  77. <porder>${vo.surro.porder}</porder>
  78. <dcmp>${vo.surro.dcmp}</dcmp>
  79. <paraopt>${vo.surro.paraopt}</paraopt>
  80. <regular>${vo.surro.regular}</regular>
  81. </model>
  82. <subopt>
  83. <infill>${vo.surro.infill}</infill>
  84. <nparallel>${vo.surro.nparallel}</nparallel>
  85. <iopt>${vo.surro.iopt}</iopt>
  86. <icstr>${vo.surro.icstr}</icstr>
  87. <ipopsize>${vo.surro.ipopsize}</ipopsize>
  88. <maxgen>${vo.surro.maxgen}</maxgen>
  89. <pc>${vo.surro.pc}</pc>
  90. <pm>${vo.surro.pm}</pm>
  91. </subopt>
  92. </configuration>
  93. <#else>
  94. </#if>
  95. <#if vo.grad??>
  96. <name>${vo.grad.algorithm?lower_case}</name>
  97. <configuration>
  98. <major_iterations_limit>${vo.grad.majorIterationsLimit}</major_iterations_limit> <!--最大外迭代步数 -->
  99. <major_print_level>${vo.grad.majorPrintLevel}</major_print_level> <!--输出精度等级-->
  100. <linear_feasibility_tolerance>${vo.grad.linearFeasibilityTolerance}</linear_feasibility_tolerance> <!--线性约束容差 -->
  101. <nonlinear_feasibility_tolerance>${vo.grad.nonlinearFeasibilityTolerance}</nonlinear_feasibility_tolerance> <!--非线性约束容差-->
  102. <optimality_tolerance>${vo.grad.optimalityTolerance}</optimality_tolerance> <!--最优性度量(KKT 条件)容差-->
  103. <verify_level>${vo.grad.verifyLevel}</verify_level> <!--梯度验证级别 -1:不验证 0:简单验证 1-3:详细验证(1目标-2约束-3目标+约束)-->
  104. </configuration>
  105. <#else>
  106. </#if>
  107. </optimizer>
  108. </optimizers>
  109. <solvers>
  110. <#list vo.solvers as b>
  111. <solver>
  112. <#if b.cpacsPath??>
  113. <cpacsPath>${b.cpacsPath}</cpacsPath>
  114. <#else>
  115. <cpacsPath/>
  116. </#if>
  117. <#if b.workflowPath??>
  118. <workflowPath>${b.workflowPath}</workflowPath>
  119. <#else>
  120. <workflowPath/>
  121. </#if>
  122. <#if b.pythonPath??>
  123. <pythonPath name="${b.stype}">${b.pythonPath}</pythonPath>
  124. <#else>
  125. </#if>
  126. </solver>
  127. </#list>
  128. </solvers>
  129. </surromdaoProblem>