Анализ и прогнозирование развития российского рынка газа

Дипломная работа - Экономика

Другие дипломы по предмету Экономика

¶ение средств

FDob As ОоиЫе Будет определен объем соответствующей добычи

F _i_INV As Long Будет определен индекс инвестирования

End Туре

Туре Мах2

FMAX As ОоиЫе Значение функционалана ресурсе, размер массива = числу эффективных вариантов ресурса FNameDAO As String Имя ДАО

NmMestor As String Имя месторождения, дающего последнее приращение

FNameMestorO As String Имя месторождения

Flnv As DoubIe Будет определено вложение средств

FDob As ОоиЫе Будет определен объем соответствующей добычи

F _UNV As Long Будет определен индекс инвестирования

End Туре

 

Описание глобальных переменных, видимых во всех процедурах модуля

 

Dim DataВook As String Переменная для запоминария имени книги с данными

Dim ProgramBook As String Переменная для запоминария имени книги

Dim ResultBook As String Переменная для запоминария имени книги с результатами

Dim Row, Column As Integer Переменные для сохранения текущего номера ячейки

Dim Sredstva As ОоиЫе Общие максимальные средства на добычу

Dim Delta As ОоиЫе Интервал приращения средств

Dim PumeftSheet As String Переменная для имени листа Пурнефтегаз

Dim SahalinmorSheet As String Переменная для имени листа Сахалинморнефтегаз

Dim KrasnodarSheet As String Переменная для имени листа Краснодарнефтегаз

Dim StavropSheet As String Переменная для листа Ставропольнефтегаз

Dim DagneftSheet As String Переменная для ли:;та Дагнефтегаз

Dim TermneftSheet As String Переменная для листа Термнефтегаз

Dim GrozneftSheet As String Переменная для листа Грознефтегаз

Dim N_DAO As Integer Число ДАО

Dim ОАОО As АО Определили динамич массив структур ДАО, месторождений, вариантов инв

Sub General() Управляющая процедура

Dim FМAXlO As Maxl Определили структуру соотв. найденному макс Фун*,ла для одной перем. Dim FMAX20 As ОоиЫе Определили рабочее соотв. найденному макс функ-ла .

Dim FMAX30 As Maxl

Dim FMAX40 As Мах2 Определили соотв. найденному макс функ-ла .

Dim Tst_MAX, Tst_MIN As ОоиЫе Переменые для тестирования максимума и минимума

Dim i_DAO, ii_DAO, i_Mestor, ii_Mestor, i_tstMestor, i_ Vart, ii_ Vart, i, fflag, fflagl As Integer Индексы для просмотра

Dim N_INV, M_INV As Long Максимальное число приращений (для всех в сумме и для одного максимального)

Dim S_INV As Long Минимальное значение инвестирования (в вариаmах)

Dim N_Fact_INV, ii_Fact_INV, i_Fact_INV As Long Фактическое число вариантов инвестирования

Dim i_INV, nn_Fact_INV, ii_INV As Long значение текущею номера вариаmа инвестирования Dim j_in_i1NV As Long З,начение текущего номера варианта инвестирования в рамках i

Dim V _i_INV As Double Значение текущего варианта инвестирования

Dim V j_in_iINV As Double значение текущего варианта инвестирования

Dim N_Mestor As Integer Число месторождений (текущее рабочее опред:ление)

Dim Flg As Integer флаг для определиния было ли изменене максимума

Dim Мах_Мах As Double абсолютный максимум

DataBook = ""

ProgramВook =

ResultBook = ""

Начало работы, процедура открытия файла с исходными данными

1)

Сall OpenDataFile

Определяем отказ от работы

If DataBook = "" Then

Exit Sub

End If

Выдаем информацию в строке состояния

Application,StatusBar = "Создаются массивы с данными"

Вводим исходные данные

Саll GetData

Определяем максимальный объем инвестирования

Sredstva = О

Tst_MIN = 999999999999#

Мах_Мах = О сейчас для поиска максимального варианта инвестирования

Fоr i_DAO = 1 То N_DAO

Fоr i_Mestor = 1 То DАО(i_DАо).коlМеstог

Выбор максимального варианта инвестирования среди текущих вариamов

Tst_MAX=O

Рот i_ Vart = 1 То DAO(i_DAO),Mestor(i_Mestor).KoIVart

IfTst_MAX < DAO(i_DAO).Mestor(i_Mestor).Inv(i_ Vart) Then

Tst_MAX = DAO(i_DAO).Mestor(i_Mestor).Inv(i_ Vart) End If

Выбор максимального варианта инвестирования среди всех

IfMax_Max < DAO(i_DAO).Mestor(i_Mestor).Inv(i_ Vart) Then

Мах_Мах = DAO(i_DAO).Mestor(i_Mestor).Inv(i_ Vart) End If

Выбор нач. знач для инвестирования

IfTst_MIN > DAO(i_DAO).Mestor(i_Mestor).Inv(i_ Vart) Then

Tst_MIN = DАО(i_DАО).Меstш(i_Меstог).Iпv(i_ Vart)

End If

Next i_ Vart

Sredstva = Sredstva + Tst_MAX Next i_Mestor

Nexti_DAO

Начальное значение инвестирования V _i_INV = Tst_MIN

Tst_ MIN = 99999999999999#

Выбор вариаmа DEL ТА для полного оптимума

Fог i_DAO = 1 То N_DAO

Fог i_Mestor = 1 То DAO(i_DAO).KoIMestor

Fот i_ Vart = 1 То DАО(i_DАО).Меstог(i_Меstог).коIVагt Рот ii_DAO = i_DAO То N_DAO

Fот ii_Mestor = 1 То DAO(ii_DAO).KoIMestor

Рот ii_ Vart = 1 То DАО(ii_DАО).Меstог(ii_Меstог).коIVагt

Выбор варианта приращения инвестирования

If Abs(DAO(i_DAO).Mestor(i_Mestor).Inv(i_ Vart) - DAO(ii_DAO).Mestor(ii_Mestor).Inv(ii_ Vart <> О Then

Abs(DAO(i_DAO).Mestor(i_Mestor).Inv(i_Vart)DAO(ii_DAO.Mestor(ii_Mestor).Inv(ii_VartThen">IfTst_MIN>Abs(DAO(i_DAO).Mestor(i_Mestor).Inv(i_Vart)DAO(ii_DAO.Mestor(ii_Mestor).Inv(ii_ Vart Then

Tst_MIN = Abs(DAO(i_DAO).Mestor(i_Mestor).Inv(i_Vart)-DAO(ii_DAO).Mestor(ii_Mestor).Inv(ii_ Vart

End If

End If

Next ii_ Vart

Next ii_Mestor

Nextii DAO

Next i_ Vart

Next i_Mestor

Nexti_DAO

**************************************************

Заполнение для всевозможных вариантов инвестирования

Вычисление общего числа месторождений

N _ Mestor = О нач знач общего числа местор.

For i_DAO = 1 То N_DAO

N_Mestor = N_Mestor + DAO(i_DAO).KoIMestor

Next i_DAO

Delta = Tst_MIN

Flg=O

M_INV = Iпt(Мах_Мах / Delta) + 1 Число приращений для максимального варианта

Tst_ МАХ = О нач знач про верки на максимум

Выдаем иформацию в строкеl состояния

Application.StatusBar = "Идет процесс оптимизации"

Определение начальных и конечных индексов в вариантах инвестирования

N_Fact_INV = О Начальное число вариантов инвестирования

N_INV = Int(Sredstva / Delta) + 1

S_INV = Int(Tst_MIN / Delta)

IfS_INV = О Then

S_INV = 1

End If

М _ INV = Int(Max _Мах / Delta) + 1 Число приращений для максимального варианта

For i_INV = S_INV То M_1NV

Текущий объем инвестирования

V _i_INV = Delta * i_INV

For i_DAO = 1 То N_DAO

For i_Mestor = 1 То DАО(i_DАо).коlМеstог

For i_ Vart = 1 То DАО(i_DАО).Меstоr(i_Меstог).коlVагt

Проверка хватает ли текущего объем?/p>