Автор работы: Пользователь скрыл имя, 06 Марта 2013 в 12:46, курсовая работа
Для программного решения задачи оптимизации процесса контроля в условиях частичной упорядоченности используется интерпретатор высокоуровневого языка программирования Python.
В данной курсовой работе для решения задачи использовался алгоритм метода ветвей и границ, а так же определение количества повторных измерений контролируемых параметров.
Программное обеспечение……………………………………………………………………………………………………3
Алгоритм метода ветвей и границ для решения одномерных задач целочисленного программирования …4
Теоретическая часть……………………………………………………………………………………………………..4
Практическая часть……………………………………………………………………………………………………….9
Выводы……………………………………………………………………………………………………………………….24
Алгоритм метода динамического программирования………………………………………………….25
Теоретическая часть……………………………………………………………………………………………………25
Практическая часть…………………………………………………………………………………………………….27
Выводы……………………………………………………………………………………………………………………….34
Список используемой литературы………………………………………………………………………………………35
Приложение 1……………………………………………………………………………………………………………………….36
Приложение 2……………………………………………………………………………………………………………………….53
temp.append(temp_table[a][b])
count += 1
temp_table[a][b] = 0
max_table[-1][b] += 1
max_table.append(copy.copy(
P.append(P[-1] * p[b][a] / p[b][a - 1])
T.append(T[-1] + t[b])
while P[-1] < 0.992 and T[-1] < 600:
a = get_max_value(temp_table)[0]
b = get_max_value(temp_table)[1]
if temp_table[a][b] == -1:
continue
sys.stdout.write(
"%d\t%d\t%d\t%2.8f\n" % (count, a + 1, b + 1, temp_table[a][b]))
temp.append(temp_table[a][b])
count += 1
temp_table[a][b] = 0
max_table[-1][b] += 1
max_table.append(copy.copy(
P.append(P[-1] * p[b][a] / p[b][a - 1])
T.append(T[-1] + t[b])
sys.stdout.write("\n")
sys.stdout.write("N\tn1\tn2\
for i in range(len(max_table) - 1):
sys.stdout.write("%d\t%s%4.5f\
i + 1, list_to_str(max_table[i]), P[i + 1], T[i + 1] / 60, T[i + 1] % 60))
sys.stdout.write("\n")
sys.stdout.write('n\tΨ1(ni)\t\
for i in range(len(p[0])):
sys.stdout.write("%d\t" % (i + 1))
for j in range(len(t)):
if psi[i][j] == -1 or psi[i][j] not in temp:
sys.stdout.write('---------\t'
else:
sys.stdout.write('%4.7f\t' % psi[i][j])
sys.stdout.write("\n")
def main():
sigma = [0.3, 0.2, 0.4, 0.1, 0.5]
t = [30, 5, 15, 20, 50]
p = get_p(sigma)
psi = get_table_psi(p, t)
get_max_table(p, t, psi)
if __name__ == '__main__':
main()
Информация о работе Курсовая работа по «Техническому контролю и диагностике систем ЛА»