Моделирование работы банка

банка. Иначе говоря, размер капитала, т.к. в балансовом отчете в разделе собственные средства (капитал) прибыль занимает не последнее место. Размер капитала банка имеет исключительное значение для его деятельности. Во-первых, регулирующие органы устанавливают мини­мально необходимый размер капитала для вновь созда­ваемых и работающих банков. Во-вторых, капитал бан­ков служит основой (капитальной базой) для установ­ления регулирующими органами нормативов, определя­ющих контролируемые показатели их деятельности. Наконец, чем больше размер капитала банка, тем выше уверенность его вкладчиков, кредиторов и клиентов, поскольку при этом повышается его надежность.

Т.о. для получения наибольшей прибыли предполагается создание и организация:

системы информации;

системы прогнозирования денежных ресурсов;

системы принятия решений;

системы контроля.

Представление динамической модели работы банка в виде программы оправды-вает себя, когда число отделов (S) и объемы финансирования (N) достаточно большие. (Уже при S>4 , N>10)

В этом случае преимущества такого подхода к решению задачи неоспоримы, так

как в ручную рассчитать такой объем информации сложно, и программа дает неплохие результаты.

Программа настроена на определенную организационную структуру, базирующуюся на отделах.

Методика, изложенная в данной работе, может быть применена в любом отдельно взятом банке. Например, в следующих банках: Возрождение, Волгопромбанк, Индустриальный, РусЮгБанк, Сава и др.


Приложение 1.


Модель общего вида задачи распределения усилий.


Такой же динамический под­ход в той же мере справедлив и в случае, когда огра­ничение нелинейно, и в случае, когда огра­ничение является линейным..

Модель описывается следующими соотношениями:


Максимизировать (1’)


при ограничениях (2’)

yj = 0 , 1, 2, ... при любом j. (3’)

Допустим, что каждая функция Hj(yj) есть неубывающая функция, принимающая целочисленные значения при любом yj = 0, 1, 2, ... и удовлетворяющая условию Hj(0) = 0. Для упрощения рассужде­ний принимается, что H1(y1) = y1, вследствие чего допустимое решение существует при любом значении N. На каждую величину yj можно также наложить ограничение сверху.

Рекуррентное соотношение динамического программирования, соответствующее задаче (1’) — (3’), имеет следующий вид:

gj = max {Rj (yj) +gj-1 [ n – Hj(yj)]}, j = 1,2,...,s, (4’)

g0 ( n ) ≡ 0, j = 0 , (5’)

где n = 0, 1, ..., N, а максимум берется только по неотрицатель­ным целочисленным значениям yj, удовлетворяющим условию Hj(yj) ≤ n. Отыскивается значение gs(N). Для выполнения вычисле­ний нужно определить по выражению (4’) значения каждой функции gj(n) при n = 0, 1, ..., N, начиная с j = 1 и заканчивая j=s. [4].


Приложение 2.


Листинг.

{ Динамическая модель работы банка }

program Bank;


uses Crt;


const

S = 10; { Число отделов }

N = 67; { Общий объем финансирования }

Lmax = 17; { Максимальное финансирование отдела }


{ Зависимости доходов от вложений по видам исследований и отделам }

P : array[1..S, 0..Lmax] of integer = (

{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 }

(0, 0, 3, 1, 1, 22, 10, 17, 2, 9, 10, 6, 6, 17, 14, 10, 10, 10 ),

(0, 0, 3, 1, 1, 2, 10, 17, 9, 2, 11, 7, 6, 13, 13, 13, 13, 13 ),

(0, 0, 3, 8, 1, 20, 17, 6, 6, 6, 6, 7, 7, 8, 8, 8, 8, 8 ),

(0, 1, 3, 1, 1, 22, 10, 17, 3, 9, 20, 6, 6, 17, 14, 10, 10, 10 ),

(0, 1, 30,8, 1, 2, 11, 17, 4, 2, 11,27,26, 33, 33, 33, 33, 33 ),

(0, 1, 3, 7, 1, 14, 17, 6, 6, 6, 6, 7,17, 18, 18, 18, 8, 28 ),

(0, 3, 2, 6, 1, 22, 10, 14, 7, 9, 10, 6, 6, 17, 14, 15, 10, 11 ),

(0, 3, 1, 5, 1, 2, 0, 17, 9, 2, 11, 7, 6, 13, 13, 13, 13, 13 ),

(0, 5, 6, 14,1, 21, 15, 6, 8, 6, 6, 7, 7, 8, 11, 8, 8, 8 ),

(0, 6, 9, 3, 1, 20, 12, 4, 6, 1, 6, 7, 7, 8, 14, 18, 28, 38 )

);


Q : array[1..S, 0..Lmax] of integer = (

{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 }

(0, 0,13, 3, 3, 23, 30, 15,12,19, 11, 1, 1, 11, 13, 14, 14, 14 ),

(0, 0, 3, 1,11, 2, 10, 17,19, 2, 11, 7, 6, 13, 13, 33, 33, 14 ),

(0, 0, 3, 8,11, 20, 17, 6, 16, 6, 6, 7, 7, 8, 8, 38, 48, 5 ),

(0, 1, 3, 1,11, 22, 10, 17,13, 9, 20, 6, 6, 17, 14, 40, 14, 15 ),

(0, 1, 30,8,11, 2, 11, 17,11, 2, 11,27,26, 33, 33, 32, 34, 35 ),

(0, 1, 3, 7,11, 14, 17, 6, 16,16,16, 17,17, 18, 18, 28, 14, 25 ),

(0, 3, 2, 6,11, 22, 10, 14,17,19, 10, 6,16, 17, 14, 15, 10, 15 ),

(0, 3, 1, 5,11, 2, 0, 17,19,12, 11, 7,16, 13, 13, 13, 15, 13 ),

(0, 5, 6, 14, 11, 21, 15, 6, 18,16,16, 17,17, 8, 11, 18, 18, 18 ),

(0, 6, 9, 3,11, 20, 12, 4, 16,11,16, 7, 7, 8, 14, 18, 28, 38 )


);


R : array[1..S, 0..Lmax] of integer = (

{0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 }

(0, 0, 0, 0, 0, 20, 0, 10, 0, 0, 10, 0, 6, 10, 10, 10, 10, 10 ),

(0, 0,13,11, 1,12, 10, 17,19,12, 11,17,16, 13, 13, 13, 13, 13 ),

(0, 0,13,28,11, 20, 17,16, 16,16,16, 27,37, 38, 38, 18, 18, 8 ),

(0,11,13,21,11, 22, 10, 17, 3, 9, 20, 6, 6, 17, 14, 10, 10, 10 ),

(0,11, 30,8,11,12, 11, 17,14, 2, 11,27,26, 33, 33, 33, 33, 33 ),

(0,11,13,27, 1, 14, 17,16, 16, 6, 6, 7,17, 18, 18, 18, 8, 28 ),

(0,13,12,26, 1, 22, 10, 14,17, 9, 10,26,26, 17, 14, 15, 10, 11 ),

(0,13,11,25,21, 2, 0, 17,19, 2, 11,27,26, 13, 13, 13, 13, 13 ),

(0,15,16,21,21, 21, 15,16, 18, 6, 6, 27,27, 28, 11, 28, 28, 8 ),

(0,16,19,23, 1, 20, 12, 4, 26,21,26, 27,27, 28, 14, 18, 28, 38 )


);


{ Максимальные объемы финансирования отделов }

L : array[1..S] of integer = ( 12, 5, 3, 10, 11, 7, 8, 10, 6, 17 );


function min(a, b : integer) : integer;

begin

if a > b then min := b

else min := a;

end;


var

i, j, y, k, f : integer;

Sum, nn : integer;


pp, qq, rr : array[1..S, 0..Lmax] of integer;


T : array[0..S, 0..N] of record

y, g : integer;

end;


T2 : array[0..3, 0..Lmax] of record

y, g : integer;

end;


Income : array[1..S, 0..3] of integer;


begin

ClrScr;


{ Поиск p(y) }

for j := 1 to S do

for y := 0 to L[j] do

pp[j, y] := P[j, y];


{ Поиск q(y) }

for j := 1 to S do

for y := 0 to L[j] do begin

qq[j, y] := Q[j, 0] + pp[j, y];

for i := 1 to y do

if Q[j, i] + pp[j, y-i] > qq[j, y] then

qq[j, y] := Q[j, i] + pp[j, y-i];

end;


{ Поиск r(y) }

for j := 1 to S do

for y := 0 to L[j] do begin

rr[j, y] := R[j, 0] + qq[j, y];

for i := 1 to y do

if R[j, i] + qq[j, y-i] > rr[j, y] then

rr[j, y] := R[j, i] + qq[j, y-i];

end;


{ Поиск g }

for i := 0 to N do begin

T[0, i].y := 0;

T[0, i].g := 0;

end;


for j := 1 to S do

for i := 0 to N do begin

T[j, i].y := 0;

T[j, i].g := rr[j, 0] + T[j-1, i].g;

for y := 1 to min(L[j], i) do

if rr[j, y] + T[j-1, i-y].g > T[j, i].g then begin

T[j, i].y := y;

T[j, i].g := rr[j, y] + T[j-1, i-y].g;

end;

end;


{ Распределение средств по отделам }

nn := N;

for j := S downto 1 do begin

Income[j, 0] := T[j, nn].y;

nn := nn - Income[j, 0];

end;


{ Распределение средств в каждом отделе }

for k := 1 to S do begin

for i := 0 to Income[k, 0] do begin

T2[0, i].y := 0;

T2[0, i].g := 0;

end;


for j := 1 to 3 do

for i := 0 to Income[k, 0] do begin

T2[j, i].y := 0;

case j of

1 : T2[j, i].g := P[k, 0] + T2[j-1, i].g;

2 : T2[j, i].g := Q[k, 0] + T2[j-1, i].g;

3 : T2[j, i].g := R[k, 0] + T2[j-1, i].g;

end;


for y := 1 to i do begin

case j of

1 : f := P[k, y];

2 : f := Q[k, y];

3 : f := R[k, y];

end;


if f + T2[j-1, i-y].g > T2[j, i].g then begin

T2[j, i].y := y;

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту

Похожие рефераты: