Добрый день, прошу вашей помощи в решении проблемы: Необходимо написать макрос для подбора оптимального значения путем итерационного счисления. Для примера первые 24 значения сделал итерациями, условное форматирование (столбец Р) определяет завершился ли подбор значения или нет - соответственно зеленый - все хорошо, красный надо продолжать. Как мне видится - макрос должен работать в столбце "2 итерация" по условию столбца Y. Вложение больше 100 кБ, выложил в onedrive Удалено. Нарушение Правил форума
Добрый день, прошу вашей помощи в решении проблемы: Необходимо написать макрос для подбора оптимального значения путем итерационного счисления. Для примера первые 24 значения сделал итерациями, условное форматирование (столбец Р) определяет завершился ли подбор значения или нет - соответственно зеленый - все хорошо, красный надо продолжать. Как мне видится - макрос должен работать в столбце "2 итерация" по условию столбца Y. Вложение больше 100 кБ, выложил в onedrive Удалено. Нарушение Правил форумаDluga
Сообщение отредактировал Pelena - Вторник, 02.06.2015, 22:18
Dluga, Ваше вложение совершенно не нужно. Было бы значительно лучше, если бы Вы дали начальные данные (от которых отталкиваться) и конечную форму (что Вы хотите получить). На данный момент я понял, что исходные данные - это столбцы A-H, но я не понимаю, чего Вы пытаетесь сделать, в каком виде и куда помещать данные, а также, что является критерием окончания итераций.
Dluga, Ваше вложение совершенно не нужно. Было бы значительно лучше, если бы Вы дали начальные данные (от которых отталкиваться) и конечную форму (что Вы хотите получить). На данный момент я понял, что исходные данные - это столбцы A-H, но я не понимаю, чего Вы пытаетесь сделать, в каком виде и куда помещать данные, а также, что является критерием окончания итераций.Skif-F
Начальные данные: значения в столбцах А-Р. Получается уравнение с двумя неизвестными, которое решаем методом подбора. Условие: столбец Р "Баланс" должен быть равен столбцу F "Потребление", если значение баланса больше, то необходимо вычитать значение столбца Y "Профицит ВИЭ" и снова вести расчет.
Начальные данные: значения в столбцах А-Р. Получается уравнение с двумя неизвестными, которое решаем методом подбора. Условие: столбец Р "Баланс" должен быть равен столбцу F "Потребление", если значение баланса больше, то необходимо вычитать значение столбца Y "Профицит ВИЭ" и снова вести расчет.Dluga
Dluga, тема энергетики для меня близка и мне интересно помочь, но я себя чувствую глупым, разбираясь в Вашем файле. И так, несколько уточняющих и наводящих вопросов: 1. исходными данными могут быть только столбцы B:F; 2. столбцы, начиная с G - это уже расчёты, и первая итерация - это уже G:P, а не I:P; 3. может быть в примере некорректные данные, но, как я понимаю, аккумуляторы применяются для сглаживания пиковых нагрузок не более 1 часа (а как правило менее). Тогда, как у Вас, аккумуляторы работают пол-суток, каждый час полностью разряжаясь и заряжаясь, но при этом необходимость заряда никак не отражена в балансе; 4. несоответствие данных: исходные данные представлены в виде мощности, а расчётные - в виде энергии; 5. попробуйте описать с помощью формул и своих слов, что Вы хотите. Например, энергию потребитель получает от X, Y и Z, когда потребление такое-то, то начинает происходить то и то, но поскольку вот это, то происходит следующее. На основании того-то и того-то нам необходимо найти вон то-то, которое достигается тем-то...; 6. полученные в результате расчётов данные необходимо куда-то разместить. Рисовать программно для Вас такие же 24 итерации смысла нет, наверняка Вам нужна какая-то более короткая запись - предложите её.
Dluga, тема энергетики для меня близка и мне интересно помочь, но я себя чувствую глупым, разбираясь в Вашем файле. И так, несколько уточняющих и наводящих вопросов: 1. исходными данными могут быть только столбцы B:F; 2. столбцы, начиная с G - это уже расчёты, и первая итерация - это уже G:P, а не I:P; 3. может быть в примере некорректные данные, но, как я понимаю, аккумуляторы применяются для сглаживания пиковых нагрузок не более 1 часа (а как правило менее). Тогда, как у Вас, аккумуляторы работают пол-суток, каждый час полностью разряжаясь и заряжаясь, но при этом необходимость заряда никак не отражена в балансе; 4. несоответствие данных: исходные данные представлены в виде мощности, а расчётные - в виде энергии; 5. попробуйте описать с помощью формул и своих слов, что Вы хотите. Например, энергию потребитель получает от X, Y и Z, когда потребление такое-то, то начинает происходить то и то, но поскольку вот это, то происходит следующее. На основании того-то и того-то нам необходимо найти вон то-то, которое достигается тем-то...; 6. полученные в результате расчётов данные необходимо куда-то разместить. Рисовать программно для Вас такие же 24 итерации смысла нет, наверняка Вам нужна какая-то более короткая запись - предложите её.Skif-F
Ну раз вам интересна тема энергетики - могу поподробнее )
данный пример представляет собой модель часовых балансов использования аккумуляторов. Условие - АК заряжается только от генерации нетрадиционных источников (столбец E) Энергия - есть мощность * время, в данном случае МВт*часы, а единица принятого для расчета времени - 1 час (в файле получается годовой баланс из 8760 значений). таким образом, принято допущение соответствия значения энергии - мощности. Столбцы A-h - это неизменные исходные данные, I-P расчетные исходные данные. В принципе если столбец Y перенести в первую итерацию думаю результат не изменится, в данном примере он нуден был больше для описания/понимания процесса другими людьми. АК применяется для сглаживания и вытеснения установленной мощности, но проблема в том, что одновременно могут идти два процесса - зарядка и разрядка. Принимается допущение, что в первый момент времени АК заряжен, в связи с чем первый процесс - разрядка. Затем - зарядка. В случае если столбец Y имеет значение больше нуля, надо это значение вычесть из столбца Q (вторая итерация, можно перенести в первую вероятно отдельным столбиком) и провести расчет заново до тех пор, пока Потребление не будет равно Генерации. Условие работы аккумулятора прописано в зависимости от исх. данных в табличке C-G в самом верху. Если Значение Потребления больше заданной в этой таблице - разрядка аккума. Если есть генерация ВИЭ - зарядка аккума до его номинальной емкости. Опасения "ненужного" заряд-разряда АК и его ускоренного износа опускаем ввиду того, что это контролируется доп оборудованием управления АК.
К сожалению, в модели дб показана почасовая запись 8760 значений, в связи с чем я очень надеялся на возможность автоматизации данного процесса Итоговое представление пока не совсем ясно, это может быть или точечный график, или только условие "район сбалансирован: да/нет" А следующий шаг - графическое построение зависимости числа АК от стоимости, замещаемой мощности и энергии.
Надеюсь на Вашу помощь.
Ну раз вам интересна тема энергетики - могу поподробнее )
данный пример представляет собой модель часовых балансов использования аккумуляторов. Условие - АК заряжается только от генерации нетрадиционных источников (столбец E) Энергия - есть мощность * время, в данном случае МВт*часы, а единица принятого для расчета времени - 1 час (в файле получается годовой баланс из 8760 значений). таким образом, принято допущение соответствия значения энергии - мощности. Столбцы A-h - это неизменные исходные данные, I-P расчетные исходные данные. В принципе если столбец Y перенести в первую итерацию думаю результат не изменится, в данном примере он нуден был больше для описания/понимания процесса другими людьми. АК применяется для сглаживания и вытеснения установленной мощности, но проблема в том, что одновременно могут идти два процесса - зарядка и разрядка. Принимается допущение, что в первый момент времени АК заряжен, в связи с чем первый процесс - разрядка. Затем - зарядка. В случае если столбец Y имеет значение больше нуля, надо это значение вычесть из столбца Q (вторая итерация, можно перенести в первую вероятно отдельным столбиком) и провести расчет заново до тех пор, пока Потребление не будет равно Генерации. Условие работы аккумулятора прописано в зависимости от исх. данных в табличке C-G в самом верху. Если Значение Потребления больше заданной в этой таблице - разрядка аккума. Если есть генерация ВИЭ - зарядка аккума до его номинальной емкости. Опасения "ненужного" заряд-разряда АК и его ускоренного износа опускаем ввиду того, что это контролируется доп оборудованием управления АК.
К сожалению, в модели дб показана почасовая запись 8760 значений, в связи с чем я очень надеялся на возможность автоматизации данного процесса Итоговое представление пока не совсем ясно, это может быть или точечный график, или только условие "район сбалансирован: да/нет" А следующий шаг - графическое построение зависимости числа АК от стоимости, замещаемой мощности и энергии.
Не совсем верно. Например, если привести вашу формулу, то для перового часа значение будет 281 вместо 265.5. Подбор оптимального значения: значение в столбце Y=0/ Формула представляет собой Баланс= Рпотребления - Ргенерации=0 Потребление=известное значение Генерация=Генерация ГРЭС+Емкость АК+Генерация ВИЭ. При этом величина емкости АК в каждый момент времени разная.
Не совсем верно. Например, если привести вашу формулу, то для перового часа значение будет 281 вместо 265.5. Подбор оптимального значения: значение в столбце Y=0/ Формула представляет собой Баланс= Рпотребления - Ргенерации=0 Потребление=известное значение Генерация=Генерация ГРЭС+Емкость АК+Генерация ВИЭ. При этом величина емкости АК в каждый момент времени разная.Dluga
Сообщение отредактировал Dluga - Пятница, 05.06.2015, 14:32
Просто надо ввести условие, что если профицит=0, то коррекция Генерации не требуется. Ну, а в остальном правильно?
Не совсем осознал... если профицит ноль, то без всяких условий будет вычитаться ноль и ничего не изменится. И по этой формуле немного тяжеловато оценить смысл: Генерация ГРЭС = Баланс - Сумма НВИЭ + Суммарная емкость - Баланс начала + Разрядка
Гененарция, как и емкость и сумма нвиэ ипр. должны быть по одну сторону равенства. С другой стороны - Потребление.
Просто надо ввести условие, что если профицит=0, то коррекция Генерации не требуется. Ну, а в остальном правильно?
Не совсем осознал... если профицит ноль, то без всяких условий будет вычитаться ноль и ничего не изменится. И по этой формуле немного тяжеловато оценить смысл: Генерация ГРЭС = Баланс - Сумма НВИЭ + Суммарная емкость - Баланс начала + Разрядка
Гененарция, как и емкость и сумма нвиэ ипр. должны быть по одну сторону равенства. С другой стороны - Потребление.Dluga
Попробую еще раз другими словами описать алгоритм: 1. дано: генерация ВИЭ, полностью заряжен АК, величина потребления. В первом приближении Генерация ГРЭС=Потреблению. 2. Надо вытеснить ГРЭС из графика нагрузки, включается АК, он разряжается. 3. Если Генерация ВИЭ больше нуля, то она заряжает АК. Если баланс самого АК на максимуме, то остаток ВИЭ вытесняет ГРЭС. 4. В АК идет два одновременных процесса - зарядка и разрядка, представленные в столбцах I-M. 5. Если мы имеем излишек ВИЭ, он вычитается из генерации ГРЭС путем итераций. 6. Приходим к условию, что Потрбление=сумме ГРЭС+ВИЭ+АК, конец расчета.
Изменяемым параметром является величина генерации ГРЭС, которую мы должны максимально сократить путем использования ВИЭ )
Попробую еще раз другими словами описать алгоритм: 1. дано: генерация ВИЭ, полностью заряжен АК, величина потребления. В первом приближении Генерация ГРЭС=Потреблению. 2. Надо вытеснить ГРЭС из графика нагрузки, включается АК, он разряжается. 3. Если Генерация ВИЭ больше нуля, то она заряжает АК. Если баланс самого АК на максимуме, то остаток ВИЭ вытесняет ГРЭС. 4. В АК идет два одновременных процесса - зарядка и разрядка, представленные в столбцах I-M. 5. Если мы имеем излишек ВИЭ, он вычитается из генерации ГРЭС путем итераций. 6. Приходим к условию, что Потрбление=сумме ГРЭС+ВИЭ+АК, конец расчета.
Изменяемым параметром является величина генерации ГРЭС, которую мы должны максимально сократить путем использования ВИЭ )Dluga
Сообщение отредактировал Dluga - Пятница, 05.06.2015, 14:56