문제

응용 프로그램에서 몇 가지 수학적 방정식을 해결해야합니다. 다음은 이러한 방정식의 전형적인 예입니다.

a + b * c - d / e = a

추가 규칙 :

  • B % 10 = 0
  • b> = 0
  • b <= 100
  • 각 번호는 정수 여야합니다
  • ...

A, B, C, D 및 E에 대한 가능한 솔루션 세트를 얻고 싶습니다.

거기 있어요 거기에있는 도서관, 오픈 소스 또는 상업용, 그러한 방정식을 해결하는 데 사용할 수 있습니다? 그렇다면 어떤 종류의 결과를 제공합니까?

도움이 되었습니까?

해결책

해결 선형 시스템 ~할 수 있다 일반적으로 선형 프로그래밍을 사용하여 해결해야합니다. 살펴 보는 것이 좋습니다 ublas를 부스트하십시오 우선 - 간단한 삼각형 솔버가 있습니다. 그러면 더 많은 도메인 별 접근 방식을 대상으로하는 라이브러리를 체크 아웃 할 수 있습니다. QSOPT.

다른 팁

당신은 수치 분석의 세계로 환기하고 있으며 여기에는 용입니다. 사양의 작은 차이는 올바른 접근 방식에 큰 차이를 만들 수 있습니다.

문제 영역에 대한 상당히 정확한 설명없이 구체적인 제안을 주저합니다. 당신이 할 수있는 방법이 많을 정도로 간단한 제한된 선형 문제를 해결하는 것처럼 피상적으로 들립니다. 그러나 "..."문제가 될 수 있습니다.

일반 솔버 등을위한 좋은 자원이 될 것입니다 게임. 소프트웨어의 대부분은 당신이 요구하는 것에 대해 약간 무거운 무게가있을 수 있습니다.

컴퓨터 대수 시스템을 원합니다.

보다 https://stackoverflow.com/questions/160911/symbolic-math-lib, 대답은 대부분 C ++와 관련이 있습니다. c.

나는 그것이 당신의 실제 질문이 아니라는 것을 알고 있지만, 당신은 주어진 방정식을 단순화 할 수 있습니다.

e! = 0 인 d = b * c * e

확실히 수치 레시피 뭔가가있을 것입니다

당신은 컴퓨터 대수 시스템을 찾고 있는데, 그것은 사소한 일이 아닙니다.

그러나 많은 것들을 사용할 수 있습니다. Wikipedia 에서이 목록을 사용해보십시오.

http://en.wikipedia.org/wiki/comparison_of_computer_algebra_systems

-아담

이것은 선형 프로그래밍처럼 보입니다. 하다 이것 도움말을 나열 하시겠습니까?

다른 게시물 외에도. 당신의 제약 세트는 이것을 연상시킵니다 정수 프로그래밍 문제, 당신은 그런 종류의 것을 확인하고 싶을 수도 있습니다. 아마도 당신의 문제는 (다시) 하나로 언급 될 수 있습니다.

그러나 정수 프로그래밍 문제는 더 어려운 계산 문제 중 하나 인 경향이 있으므로 많은 클럭 사이클을 사용하여 크래킹 할 수 있음을 알아야합니다.

"추가 규칙"부분 만 살펴보면 선형 프로그래밍처럼 보입니다.이 경우 Lindo 또는 Simplex 알고리즘을 구현하는 유사한 프로그램은 정상입니다.

그러나 첫 번째 방정식이 실제로라면 전형적인 그것은 당신의 선형 대수 문제가 아니라는 것을 보여줍니다. 두 변수는 서로를 곱하거나 나누는 것이 선형 방정식에 나타나야합니다!

따라서 컴퓨터 대수 시스템이 필요하거나 유전자 알고리즘을 사용하여 문제를 해결해야한다고 말합니다.

선형 프로그래밍에서 발견 된 것과 유사한 제한 사항이 있으므로 특정 문제에 대한 솔루션을 원한다면 끝에서 언급 된 라이브러리를 선택한다고 말합니다. 유전자 알고리즘에 관한 Wikipedia의 기사 결과를 제공하기 위해 앱을 개발하십시오. 보다 일반적인 접근 방식을 원한다면 컴퓨터에서 대수 조작을 시뮬레이션해야합니다.

TI-89 계산기에는 '솔버'응용 프로그램이 있습니다. 그것은 당신의 예에서 문제를 해결하기 위해 만들어졌습니다. 나는 그것이 도서관이 아니라는 것을 안다. 그러나 몇 개의 TI-89 에뮬레이터가 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top