Share:

Расчет цепей преобразования ресурсов. Часть первая.

Очень не люблю, да и не умею писать длинные вступления, поэтому сразу к делу.


Суть в следующем.
Существует метод расчета, позволяющий из всех возможных цепей преобразования ресурсов выбрать оптимальный для ваших потребностей. Иными словами, просчитать и выбрать такой способ достичь желаемого, при котором вы тратите минимум ресурсов и получаете максиум результата.
Точность результата определяется точностью исходных данных, которые вы отразите в условиях задачи.

Условия и особенности применения:

1. В контексте данного метода, ВСЁ представляющее какую-либо полезность для субъекта, обозначается термином "ресурс". Товары, услуги, природные ископаемые, работа машин и человеческий труд - всё это в описании метода будет одинаково называться ресурсом.

2. Ресурс и потребность - это одна и та же величина, взятая с противоположными знаками.
Потребность - это отрицательное количество ресурса. Ресурс - это потребность отрицательной величины.

3. Для одной потребности может быть необходимо несколько разных ресурсов. Следуя п.2, можно приравнять их требуемое количество к единице промежуточного ресурса, достаточной (но не более) для удовлетворения данной потребности.

4. Количество имеющихся или требуемых ресурсов определенного типа может быть либо задано в условиях задачи, либо вычислено по известным значениям других потребностей/ресурсов.
Влияние всех внутренних и внешних факторов (кроме времени - см. примечание ниже) должно быть описано количеством (либо динамикой количества) имеющихся и требуемых ресурсов.
Примечание: в контексте потребностей и ресурсов, необходимо различать "интервал времени, как ресурс" (далее обозначаться как T) и модельное время (t), которое используется для выражения количества ресурсов от течения времени.

5. Тип ресурса (обозначается как R[порядковый номер типа]) - это только единица измерения, он не может быть равен численному значению.

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


Шаг 1. В условиях задачи задается
1) Типы Rs и количество N(Rs) исходных (уже имеющихся) ресурсов
2) Типы Rq и количество Q(Rq) требуемых ресурсов, получение которых считается удовлетворением потребности.
3) Множество выражений вида

V(Rj ) = sum(pi*Ri)

где
0 < i < n
i - порядковый номер ресурса, отличный от j.
n - последний порядковый номер ресурса в рамках задачи
sum() - сложение,
pi - требуемое количество ресурса i-го типа (0, если не требуется).
Rj - j-й тип ресурса как единица измерения.
V(Rj ) - требуемая для создания 1 ед. ресурса типа Rj сумма других ресурсов.
j - порядковый номер типа ресурса, для которого указано данное равенство.

Эти условия определяют, как и какие ресурсы могут быть преобразованы или обменяны.

ВАЖНО!
Для одного и того же ресурса Rj может быть задано несколько выражений V(Rj ), описывающие разные способы получения этого ресурса. Например:

V(R4) = 2*R0 + 8*R1 + 3*R2 + 20*R3
V(R4) = 2*R0 + 8*R1 + 3*R2 + 3*R3 + 2*R5


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

Шаг 2. Количество каждого ресурса Rj, которое можно получить из уже известных, для каждого выражения V(Rj ) вычисляется следующим образом:

N(Rj ) = sum(N(Ri )*Ri ) / V(Rj )

N(Ri ) - известное количество ресурса Ri, (заданное в условиях задачи, либо ранее вычисленное на этом же шаге) а остальные обозначения те же самые, что и для выражений в предыдущем шаге.

Шаг 3. Процесс повторяется до тех пор, пока не будут найдены все возможные варианты получить требуемые ресурсы из исходных.

Шаг 4. Из всех возможных вариантов выбирается наименее затратный по исходным ресурсам, а именно - тот, в котором отношение количества требуемого по условиях задачи ресурса Rq к сумме потраченных исходных ресурсов Rs максимально:

Q(Rq) / sum(N(Rs)*Rs) -> max

где Rq - ресурс, оптимальный способ получения которого является решением задачи.
q - порядковый номер этого ресурса
Q(Rq) - требуемое по условиям задачи количество ресурса Rq,
Rs - один из исходных ресурсов
s - порядковый номер исходного ресурса
sum(N(Rs)*Rs) - сумма всех задействованных ИСХОДНЫХ ресурсов.

Примечание:
На шагах 1 и 2 показан способ описания преобразования нескольких разнотипных ресурсов в один ресурс другого типа.
Если есть необходимость описать преобразование нескольких ресурсов в несколько, исходные выражения можно расширить следующим образом:

V(sum(uj*Rj)) = sum(pi*Ri)

где 0 < i < n
0 < j < n
j != n.
uj - количество получаемого ресурса типа Rj.
pi - количество затрачиваемого ресурса типа Ri.

Вот собственно и всё. В этой записи представлено только описание метода. Все дополнения, выводы и субъективные суждения будут выложены отдельной записью. Они будут намного более человекопонятными (без формул), а все написанное в этом посте будет использовано как обоснование для них.

P.S. нижние индексы (i, j, q, s) в формулах при просмотре почему-то показываются как обычный текст, хотя при редактировании записи видны так, как положено... понятия не имею, почему так происходит

Permission to comment denied

Cancel call Close ()

Calling...