215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
1

Метод потенциалов Транспортная задача

23.04.2014, 08:52. Показов 2798. Ответов 8
Метки нет (Все метки)

Как можно найти цикл в матрице ?
нехватает этой чудо функций
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.04.2014, 08:52
Ответы с готовыми решениями:

Транспортная задача. Метод потенциалов.
Здравствуйте. не получается сделать Метод потенциалов,а именно не получается написать ПУТЬ...

Транспортная задача
прошу помощи...нужно написать транспортную задачу...ни как не могу ее сделать...пожалуйста,...

транспортная задача
Всем привет! помогите пожалуйста переделать программу с Delphi на Builder C + +. заранее спасибо =))

Транспортная задача
Помогите реализовать цикл для улучшения опорного плана.Задача решается методом потенциалов.

8
Почетный модератор
Эксперт С++
5850 / 2861 / 392
Регистрация: 01.11.2011
Сообщений: 6,907
23.04.2014, 09:49 2
Цитата Сообщение от Qazan Посмотреть сообщение
Как можно найти цикл в матрице ?
Не могли бы вы пояснить, что имеется в виду под циклом?
0
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
24.04.2014, 08:52  [ТС] 3
SatanaXIII,

Пусть имеется некоторая матрица размера (n,m) . В ней выделены n + m - 1 элементов.Назовем их Хорошими.
Если в Хороших элементах нет цикла то они ОченьХорошие.

Циклом в Хороших элементах называется такое подмножество A элементов из Хороших,что
в каждой строчке и столбце наидется ровно два элемента .

Например ,
1. (1,1) (1,3) (3,3) (3,5) (5,5) (5,1)
2. (1,1) (1,3) (3,3) (3,1)
для матрицы размерности больше 5
0
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
24.04.2014, 11:24 4
Цитата Сообщение от Qazan Посмотреть сообщение
Циклом в
Цитата Сообщение от Qazan Посмотреть сообщение
элементах называется
Цитата Сообщение от Qazan Посмотреть сообщение
подмножество A элементов
Цитата Сообщение от Qazan Посмотреть сообщение
что в каждой строчке и столбце наидется ровно два элемента
"А" - это сколько? Если есть n на m...
Если опустить "А" и взять в разсчёт что нужно ровно два элемента одинаковых найти - ну берите и сравнивайте.
Создайте переменную, например int k=0; Начинаете перебором сравнивать элементы.. блин у тебя 169 репутация, а задача начального уровня. Подобные задачи есть в книге, которая является азом обучения "С/С++ в задачах и примерах" автор Н.Культин.
0
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
24.04.2014, 14:17  [ТС] 5
Izual, подмножество - тогда наверное меньше чем m + n - 1

а все нужно , чтобы каждый индекс встречался дважды при количестве элементов больше 3


PS : По факту моя репутация 20
0
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
24.04.2014, 15:16 6
Цитата Сообщение от Qazan Посмотреть сообщение
наверное меньше чем m + n - 1
Что значит наверное, что препод не уточнил?

Если у нас вся матрица это m x n, то (если взять m=5 и n=6) всего будет из примера 30 элементов. Но мы разсматриваем только m+n-1, значит всего 10 из 30.. И какие эти 10? Не очень ясно где эти 10 элементов вообще находятся...
0
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
24.04.2014, 16:04  [ТС] 7
Izual, вы меня не поняли

если я говорю о подмножестве, значит это меньше либо равно ,не так ли ?

Я понял ,что задачу следует интерпретировать так

Найти все элементы у которых координаты встречаются по два (рассматривая отдельно i и j е координаты).

у меня пока такая идея :

создать массив целых чисел b размером max{n,m}

теперь проходя по Хорошим элементам
делать b[i]++; & b[j]++;

потом

C++
1
2
3
4
5
6
7
8
9
10
 
   for(int i = 0;i < min{n,m};i++)
   { 
       if(b[i] != 4) return false;
   } 
   for(iunt i = min{n,m};i < max{n,m};i++)
   {
       if(b[i] != 2) return false;
   }
   return true;

Как вы думаете оптимально ?
может можно быстрей и экономней ?
0
143 / 122 / 21
Регистрация: 13.11.2012
Сообщений: 1,564
24.04.2014, 16:39 8
Цитата Сообщение от Qazan Посмотреть сообщение
может можно быстрей и экономней ?
Зачем? Вы ведь не будете эту формулу использовать для грамоздких целей, где под миллион n m. А раз так то и оптимизировать не вижу смысла, к тому же предполагаю что задача изначально не для usability, а для развития логики и демонстрации умений создавать алгоритм. А раз так - то вы уже сделали то что надо было.
Хотя с другой стороны я оптимизацией никогда не занимался в "мелочном плане", оптимизация нужна там где это жизненно необходимо - т.е. для реального использования при этом соотнося "цена и качество", ведь оптимизировать можно и через сам ассемблер, но смысла писать код на ассемблере - ну никакого нет. Так что то что я подчеркнул из книги Фленова "Иссуство программирования C++ и DirectX", так это то что оптимизировать надо в пределах разумного и только если игра стоит свеч.
У вас получился минимизированный код - это уже хорошо, я обычно чисто на это делаю упор - чем меньше строк кода - тем лучше. А то ведь когда реальные программы делаеш, то оптимизация может принести вместо 2-3 строк все 20-30, а это слишком усложняет жизнь, особенно когда изначально под 10 000 строк кода.(и в 20 раз если умножить - будет ппц, не стоит оно того, т.е. возможно только в отдельных моментах. Да и сила нынешних компов растёт, с появлением много процессорных чипов появился смысл делать много поточные приложения, которые оптимизируют в 1.9 раз(почти в 2) как минимум - а это куда больше чем даже самый навороченный оптимизированный код.(ну в передлах разумного построения изначального истественно)
Так что не замарачивайтесь имхо..
1
215 / 63 / 25
Регистрация: 30.04.2013
Сообщений: 865
Записей в блоге: 10
24.04.2014, 20:23  [ТС] 9
Izual, для домашки по методам оптимизаций
лень писать все итераций
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
24.04.2014, 20:23
Помогаю со студенческими работами здесь

Транспортная задача (методом потенциалов)
Доброго времени суток форумчане! Нужна прога по вычислению транспортной задачи методом потенциалов....

Транспортная задача (методом потенциалов)
В универе задали сделать транспортную задачу. Знания только одного семестра ОП. Сделал заполнение...

Транспортная задача(метод минимального элемента)
Здравствуйте! Нужно написать задачу, которая методом минимального элемента составит опорный план...

Транспортная задача: метод северо-западного угла
Здесь уже была похожая тема, но там так и нет ответа. Программа делает только одну итерацию. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru