Остановить оптимизацию при достижении необходимого показателя или времени. - страница 4

 
fxsaber #:

Эта функция будет работать только в OnTesterInit, т.е. ДО запуска самого процесса оптимизации, но уже после нажатия на кнопку Старт.

спасибо, я хотел уточнить:

допустим у меня есть следующие параметры под оптимизацию:

input int              param1   = 10; (start = 1, step = 1, finish = 30)

input int              param2  = 20; (start = 2, step = 1, finish = 50)

при оптимизации ГА подставляются какието параметры из диапазонов(start / finish с шагом = 1)

для меня важно что если   param1  = 15 то param2 выбирался из диапазона(start = 16, step = 1, finish = 50)

( вобщем param2  должен быть всегда больше param1 )

но при следующем прогоне если param1 = 1 то param2 (start = 2, step = 1, finish = 50)

 
yaroslav ivantsov #:

спасибо, я хотел уточнить:

допустим у меня есть следующие параметры под оптимизацию:

input int              param1   = 10; (start = 1, step = 1, finish = 30)

input int              param2  = 20; (start = 2, step = 1, finish = 50)

при оптимизации ГА подставляются какието параметры из диапазонов(start / finish с шагом = 1)

для меня важно что если   param1  = 15 то param2 выбирался из диапазона(start = 16, step = 1, finish = 50)

( вобщем param2  должен быть всегда больше param1 )

но при следующем прогоне если param1 = 1 то param2 (start = 2, step = 1, finish = 50)

Последовательность такая:

  1. Руками прописаны параметры.
  2. Руками нажимается кнопка Start.
  3. Запускается OnTesterInit, где доступны данные из п.1.
  4. В OnTesterInit можно менять данные из п.1.
  5. После выхода из OnTesterInit запускается оптимизация.
  6. Во время оптимизации изменения недоступны.
 
fxsaber #:

Последовательность такая:

  1. Руками прописаны параметры.
  2. Руками нажимается кнопка Start.
  3. Запускается OnTesterInit, где доступны данные из п.1.
  4. В OnTesterInit можно менять данные из п.1.
  5. После выхода из OnTesterInit запускается оптимизация.
  6. Во время оптимизации изменения недоступны.

это хорошо, я понял, вопрос в другом:

я запускаю Оптимизацию, допустим даже полный перебор.

формируется список параметров:

1 сет (  param1 =1,  param2 = 2)

2 сет(  param1 =1,  param2 = 3)

...

Х сет    param1 =3,  param2 = 2) происходит в тестерИнит замена диапазона для  param2 теперь он такой (start = 4, step = 1, finish = 50) и  Х сет    param1 =3,  param2 = 10)

но что будет дальше??? с Х+1 Сетом?

какой будет стартовый диапазон(у параметра 2) для следующего сета?  он будет стартовым? ( param2 (start = 2, step = 1, finish = 50) ) или для всех последующих уже такой (start = 4, step = 1, finish = 50) 

не возникнет ситуации что я потеряю комбинации(из-за того что  param1 был уже =3 но еще небыло комбинаций когда  param1 =2)например :

param1 = 2

param2 (start = 3, step = 1, finish = 50) 

 
yaroslav ivantsov #:

это хорошо, я понял, вопрос в другом:

Вопрос не должен был возникнуть при понимании.

Вы не формируете сеты, а только задаете диапазоны входных параметров в п.4.

Вместо этого.

input int param1 = 0;
input int param2 = 0;


Сделайте такой вариант.

input int param1 = 0;
input int param2_offset = 0;

const int param2 = param1 + param2_offset;
 
fxsaber #:

Вопрос не должен был возникнуть при понимании.

Вы не формируете сеты, а только задаете диапазоны входных параметров в п.4.

Вместо этого.


Сделайте такой вариант.

да спасибо, в так и сделаю!

Причина обращения: